<SEC-DOCUMENT>0001406666-21-000120.txt : 20211026
<SEC-HEADER>0001406666-21-000120.hdr.sgml : 20211026
<ACCEPTANCE-DATETIME>20211026160131
ACCESSION NUMBER:		0001406666-21-000120
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		69
CONFORMED PERIOD OF REPORT:	20211002
FILED AS OF DATE:		20211026
DATE AS OF CHANGE:		20211026

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			CALIX, INC
		CENTRAL INDEX KEY:			0001406666
		STANDARD INDUSTRIAL CLASSIFICATION:	COMMUNICATION SERVICES, NEC [4899]
		IRS NUMBER:				680438710
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-34674
		FILM NUMBER:		211348317

	BUSINESS ADDRESS:	
		STREET 1:		2777 ORCHARD PARKWAY
		CITY:			SAN JOSE
		STATE:			CA
		ZIP:			95134
		BUSINESS PHONE:		408-514-3000

	MAIL ADDRESS:	
		STREET 1:		2777 ORCHARD PARKWAY
		CITY:			SAN JOSE
		STATE:			CA
		ZIP:			95134

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	CALIX NETWORKS INC
		DATE OF NAME CHANGE:	20070713
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>calx-20211002.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version="1.0" ?><!--XBRL Document Created with Wdesk from Workiva--><!--Copyright 2021 Workiva--><!--r:eb3e7fcf-54aa-41be-ae7f-06b3a004aa6e,g:41ec7d7a-5794-4cef-b971-9df9c68285ea,d:5d41e0a2263341439e48bd03d8d3586a--><html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:calx="http://www.calix.com/20211002" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:us-gaap="http://fasb.org/us-gaap/2020-01-31" xmlns:srt="http://fasb.org/srt/2020-01-31" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dei="http://xbrl.sec.gov/dei/2020-01-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:country="http://xbrl.sec.gov/country/2020-01-31" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns="http://www.w3.org/1999/xhtml" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xml:lang="en-US"><head><meta http-equiv="Content-Type" content="text/html"/>


<title>calx-20211002</title></head><body><div style="display:none"><ix:header><ix:hidden><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="dei:EntityCentralIndexKey" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80L2ZyYWc6NzI0ZWQzNTIxZWY3NDFmNzg3ZTU4NzVmYTU3NWI2NDkvdGFibGU6ZmM4ZDk1YmEwYzY4NDg5NjhkOTU4NTk3YzgwZmEzMTYvdGFibGVyYW5nZTpmYzhkOTViYTBjNjg0ODk2OGQ5NTg1OTdjODBmYTMxNl8yLTEtMS0xLTU0NTE_9e1a3e56-d5ab-481a-8e2c-7eaa2adf456d">0001406666</ix:nonNumeric><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="dei:AmendmentFlag" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80L2ZyYWc6NzI0ZWQzNTIxZWY3NDFmNzg3ZTU4NzVmYTU3NWI2NDkvdGFibGU6ZmM4ZDk1YmEwYzY4NDg5NjhkOTU4NTk3YzgwZmEzMTYvdGFibGVyYW5nZTpmYzhkOTViYTBjNjg0ODk2OGQ5NTg1OTdjODBmYTMxNl8zLTEtMS0xLTU0NTE_70fff44b-fff8-4fa4-927c-f389ba38e635">false</ix:nonNumeric><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="dei:DocumentFiscalYearFocus" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80L2ZyYWc6NzI0ZWQzNTIxZWY3NDFmNzg3ZTU4NzVmYTU3NWI2NDkvdGFibGU6ZmM4ZDk1YmEwYzY4NDg5NjhkOTU4NTk3YzgwZmEzMTYvdGFibGVyYW5nZTpmYzhkOTViYTBjNjg0ODk2OGQ5NTg1OTdjODBmYTMxNl80LTEtMS0xLTU0NTE_29bcf62b-d48d-4655-8d4b-5aba31290167">2021</ix:nonNumeric><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="dei:DocumentFiscalPeriodFocus" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80L2ZyYWc6NzI0ZWQzNTIxZWY3NDFmNzg3ZTU4NzVmYTU3NWI2NDkvdGFibGU6ZmM4ZDk1YmEwYzY4NDg5NjhkOTU4NTk3YzgwZmEzMTYvdGFibGVyYW5nZTpmYzhkOTViYTBjNjg0ODk2OGQ5NTg1OTdjODBmYTMxNl81LTEtMS0xLTU0NTE_722fef79-d6bf-49ab-a3ce-0e840a699e74">Q3</ix:nonNumeric><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" format="ixt:date-month-day" name="dei:CurrentFiscalYearEndDate" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80L2ZyYWc6NzI0ZWQzNTIxZWY3NDFmNzg3ZTU4NzVmYTU3NWI2NDkvdGFibGU6ZmM4ZDk1YmEwYzY4NDg5NjhkOTU4NTk3YzgwZmEzMTYvdGFibGVyYW5nZTpmYzhkOTViYTBjNjg0ODk2OGQ5NTg1OTdjODBmYTMxNl82LTEtMS0xLTU0NTE_b48109de-8645-4013-b353-336563b06449">12/31</ix:nonNumeric><ix:nonNumeric contextRef="ib4194844b22648f788a74d13c0226609_I20211002" name="us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmIzN2YyOWZkNGJiNjRjZDBiMmFhMGM1NDM4ODBiOWRhL3RhYmxlcmFuZ2U6YjM3ZjI5ZmQ0YmI2NGNkMGIyYWEwYzU0Mzg4MGI5ZGFfMS0wLTEtMS01NDUx_31b3eaa5-08ea-4bbe-a999-f87feedfed4b">us-gaap:AccruedLiabilitiesCurrent</ix:nonNumeric><ix:nonNumeric contextRef="id3610bee06384aef802a6c37e5dcb5af_I20211002" format="ixt-sec:duryear" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82MS9mcmFnOjZmMjBjZDZkODdlYjQ3NTY4MzAzOGY2YWVlNDc0Y2MxL3RhYmxlOjRiMDQ3NjdmZWE5NTQxNjQ4MmRjNjA4Zjc1MmNlOWI0L3RhYmxlcmFuZ2U6NGIwNDc2N2ZlYTk1NDE2NDgyZGM2MDhmNzUyY2U5YjRfMi0xLTEtMS01NDUx_cd579dd8-efcd-4cef-8295-00e898c6b240">1</ix:nonNumeric></ix:hidden><ix:references xml:lang="en-US"><link:schemaRef xlink:type="simple" xlink:href="calx-20211002.xsd"></link:schemaRef></ix:references><ix:resources><xbrli:context id="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:context id="i739c36f9cdf14f7794a78f02788788f0_I20211018"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-10-18</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usd"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:context id="ib4194844b22648f788a74d13c0226609_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-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="i713404b8f56641e49de98167821fceca_D20210704-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">calx:SystemsProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-04</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4753558e8825419791b17ca7d213063f_D20200628-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">calx:SystemsProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-28</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i877cb3ea439641b19d355312355d304a_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">calx:SystemsProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if645262fc12448669e387313b6f982eb_D20200101-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">calx:SystemsProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if100dab6087c4813b6e331aa16b6d287_D20210704-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-04</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ied5a853db0a9401392cd1be0b489e96d_D20200628-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-28</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2816fb445ef844e39a36716ddf457529_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4b3a8a37d33c485f979ef0b1b1d24699_D20200101-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-04</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-28</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i719aee2ec2074761a484a36bd8b38658_I20210703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i96f3d0c1ebfa4f68ba141d50b140850e_I20210703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ibeced1c7ba50417fb67be8b1a105add6_I20210703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i65f386b867bb4d27828de8ba7095914a_I20210703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4c1ad5e2de2a46189e308f662fa777c2_I20210703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ibdff310060b846bfb5608e4f0b9de9d5_I20210703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iabac216f03a1461fa4f42bcdf760d959_D20210704-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-04</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i73192d159c5a494b9a92afe96c5f355d_D20210704-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-04</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8394d1d1365743f1af0d64bc993efbf7_D20210704-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-04</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i81dd5b82aa524c8281fd6d86ff0ac306_D20210704-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-04</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib6cbefe9b5304859aaa0042df1ff7169_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9f0b6e94b6524e96bf9c63cb7ebca22a_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iab5c3d5e54444c6c9b24a13ad207e9f1_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6ca731aad112464c83bdf45cceba5da2_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib6c405edb07742b0b59fb8f74773cd6e_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i82db4d0313534420a469f5471a357280_I20200627"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-06-27</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i57afc6bf7fbf4296be86461c9162dd7a_I20200627"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-06-27</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia2792190cc714ae59f3615b421fceb57_I20200627"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-06-27</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5c68251911c4458497df5c9d59ba3057_I20200627"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-06-27</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia19cc151987a4e9b86e5498de05c46be_I20200627"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-06-27</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if85299be32f348a59681f41a2b3c4943_I20200627"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-06-27</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ied3d352f397e42fd8677496a633e316f_D20200628-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-28</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9d3a6d150f0f4852bcb44ad5f8b5b5a7_D20200628-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-28</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9db9ff25c808451789056a63e326d239_D20200628-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-28</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="idb760cad941944dd9c89716d1f9660a1_D20200628-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-28</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2dbc2fde70e34e4897d353aee3a7037a_D20200628-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-28</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i713dc1c8318346e0ae59b8d0914f7f61_I20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-09-26</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i399629ec6b9c49f68307f3835617ea2c_I20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-09-26</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6856290b10384d088d66ddfcab850433_I20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-09-26</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i45f42dc11ed941088083eecb9e07bcbc_I20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-09-26</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic847eb288b6543caad90a00bf54a740b_I20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-09-26</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5b5927dd8cce44bc93f27feb4b7c149e_I20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-09-26</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i94d71ce498f84b9b9e061480730494ed_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i43fc40c3c91f4c50ae3e849790ac4358_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iadb337735f9143f098c64a98535ed730_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if43e8a75a45a4535bc4a7735f0a267dc_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i34f2c7857f5a4299beb8dad5f274d66d_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie468ca297b344933a8e6028e67ed815f_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i762e0d8988ae4bda9907959f882fcde4_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i49c3471cf0e44a2f9a2879f5e2f8fd0f_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0584126924d6475bba24d98d000cfe9b_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id735c32780e2439cb1c3e925a33155a7_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4560bfcb57504859980d178b4befab6f_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i95bdd3dfd3a84101bc236031747fbc55_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5687cf6b0ccc4e12b649b1e3725e37b5_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ibf28ea2c6d9c46df8cf295ff21695b9b_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i01677da6d89f44ccbc9a41104c439270_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idfea60db97244c8587b1f58c66d7aa3f_D20200101-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0df46bc6cd5c401b97a9766495839643_D20200101-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic9bab66f44e6405996b52ea0d927824e_D20200101-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5f4e2617778249599dac964228ad323e_D20200101-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ida2d0ad75a3d4ab285100f6946ba74eb_D20200101-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id4e961fca3f04687ba4e2836f4d4948a_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie74c0b9cf5804c67a6b7086a121340cc_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i266bc4dc70814210b46ab80444bb1e11_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i95325bb22e5f4f89aacd1ab876ea1bbe_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie13138ffb8b84b6d89cea39464c1fde4_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id43610d00b34463cbe1a36fb1e27aa0b_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iee143e313480466193c3be37bbb3ded6_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic0ba35e85bd345c982a5e5d6769f241b_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idf991a39aa4c472182f5ebc48298c319_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USGovernmentDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie5dbf97b5b8947cb878f959c4f31c81b_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USGovernmentDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8f724e4e6df9420499d41ba2f8a85556_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2c5666534f2e4a32a5d7fb0d37dcf641_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1612af942ca746cab22b293b4fb505c7_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie9b29a0058664caaa92594b56344831b_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i037b33631de04352bdae3d770b4d0303_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i68321b9592d2400db860461d32169447_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i937479d3bf9c413cbed828008b702cbe_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i68c60b73a7764615991d7161320b22ee_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1b22cd11ca08494c97af262450969030_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="icef0371f5216436ca6221913f71e89ac_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3b83baf80973450cbc0fffafca8c995e_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i394f7e868e564ddaa3bb7656154f9971_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i660370d1477c47d9ae4e210061e04d2f_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2cb2af827c0d4e8fa13d50d8b32ab69c_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentDebtSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia1148926c25042a5951f2b8420c9e880_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentDebtSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id58cbf088e8f43cd9c8ca2c32c054028_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentDebtSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib42bc09e694143e29593b2eac05391fc_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6fb296c1504046b7b902c9c4498b8373_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i870ca6f514b742d9890e0228064e2de0_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i723b9a3d33ce4467a86c84ead7b41c2a_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9f73129217a6431fa2b0c268cf962e2c_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic67299b48d7d437190adc5221b3dea72_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i94f3883f67df4b5eb5c28bcf1d98d833_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if1acc8fad88d4bba96bdd150fad70a81_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9b2be8a325c644cf8f7beb32f0c38343_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3fe16082e3ed46f1ab37172262968b23_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i443e0055c5754d7bbe2efe5deeb1d796_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i206072936674476292ca7a8b8c6fcc62_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i201027b65e3849c5acbff4581e5c30d2_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia7b33a7632984497a0b204172aa04efa_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib2ac7f1f33ac4acd8cc838e0542e5b52_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i764133c02d0440188258ec3b4eaf8e24_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9617cb42498f490ca6363ddb911df87b_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentDebtSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib8edd66a30aa4bf6beaaf85b8c2878a2_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie64184d8da4741ac89d97a8b2248f50c_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib48cd01fe71541729a887e49debdb7e4_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i824b1699007843c7a4b8120623b581fc_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">calx:SoftwareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia5b73b59f9344c7ba678391a99b117e7_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">calx:SoftwareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if7a966696c63400b8ea9887b3678cec4_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie98412dd96314b14bbde364e09cdbabb_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic011dad94be943aaa99b45d8862d3a2f_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i86e321774a554598ae0fa13d7dfd2184_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idc424497c33d4090a7ce2d2a356c3bc3_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3a25fc33ed4348d3a66fe7ec34ebcaa0_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iba9044f04b6e454f8355aac53a4440ff_I20180331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if83f9c370cd84c8ca048664140a5f25a_I20190928"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-09-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i16d7bebbeed74c3982a1db4aaebc555b_D20190630-20190928"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-06-30</xbrli:startDate><xbrli:endDate>2019-09-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i80336faa7f4e4662933379d5a174bc71_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1f6d3a747de64c27a25cd4680f47b0fa_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i327009b331d4449bb2a0296d9ff61507_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">calx:AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if8edbbcca1184addaa516c1e0794880b_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:FacilityClosingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">calx:RichardsonTexasAndSanJoseCaliforniaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i821bbed98cc4449d9c0818ac60ef5c48_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:FacilityClosingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8a9d69567ccc4d71bf2a8f7efc113576_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iaa88655af0f243bf9022dab4a57016b5_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:FacilityClosingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i86780f7fafac4aaea0e6f929f67f3b8a_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia54af817c8084c6089e2e9aad2754d6c_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:FacilityClosingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ibb78188966b74ac0b2ca062fc7dfd7e1_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5bea453f7dc8426ba1c703b598ad6e30_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">calx:BankOfAmericaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i316173499cff4977b47d0537c28c69b0_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">calx:BankOfAmericaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="number"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:context id="i4436e314311e4afab8714b1a96fa8378_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">calx:BankOfAmericaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i81c0da0651e94f2f9eedfe6f8aba427a_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">calx:BankOfAmericaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i27476bbe7e504f478dc9f52396d8a422_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">calx:BankOfAmericaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9c0ae4c4a012454385ecd85a98aec2c7_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">calx:BankOfAmericaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i119accbad0644664991a2fc5abd44545_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">calx:BankOfAmericaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifb81db97359e4793b692ce6dc59142fa_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">calx:SanJoseCaliforniaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iaedd2a09379f479bb16fa0ffec45f2ee_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2019EquityIncentiveAwardPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i04748989fcfe4111a35085ec6b796896_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2021PerformanceTargetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i62b2e08a6c4f49a298e98198c23fdfa6_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2021PerformanceTargetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">calx:PerformanceBasedStockOptionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2021PerformanceTargetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-02-01</xbrli:startDate><xbrli:endDate>2021-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie120eba8bcb748a48d670dce0d75c865_D20210201-20210228"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">calx:PerformanceBasedStockOptionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2021PerformanceTargetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-02-01</xbrli:startDate><xbrli:endDate>2021-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i837861cca2d042bb879a5eb612b704f8_D20210201-20210228"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">calx:PerformanceBasedStockOptionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2021PerformanceTargetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-02-01</xbrli:startDate><xbrli:endDate>2021-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i63915c9ed57f4e8083ef090302be1894_D20210704-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">calx:PerformanceBasedStockOptionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2021PerformanceTargetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-04</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9b413c47d93249938ee2593660133a8d_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">calx:PerformanceBasedStockOptionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2021PerformanceTargetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="plan"><xbrli:measure>calx:Plan</xbrli:measure></xbrli:unit><xbrli:context id="if278cd5492494030873418d6b5622c9c_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia76d774d956c4b278d169b4619285bed_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iee7ed7956de74c89a455fe922a51e77e_D20210703-20210703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-03</xbrli:startDate><xbrli:endDate>2021-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i568082441fa347cd8690cebadfb39a7f_I20210702"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-07-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iddb4993f368d4549967bdcf9e55cfdfd_I20210703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6b926140584b4a4685093bbd7947ed29_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2017NonqualifiedEmployeeStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3b2706e65f9d4a3fb1e79776d84855ff_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2017NonqualifiedEmployeeStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="period"><xbrli:measure>calx:period</xbrli:measure></xbrli:unit><xbrli:context id="i24d43847619741dda3d74e2156da7882_D20210703-20210703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2017NonqualifiedEmployeeStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-03</xbrli:startDate><xbrli:endDate>2021-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i23ce2f571e714241971993dc677f88e3_D20210704-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">calx:CostOfRevenueProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-04</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i854c98d6d03d473d939ced27470817f8_D20200628-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">calx:CostOfRevenueProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-28</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9ec4341d83144a43a9c8ed72830666ae_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">calx:CostOfRevenueProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0c6f53deca22451494b38b6e77f314f5_D20200101-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">calx:CostOfRevenueProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id7c218565c464461bbf42b8c1981b59c_D20210704-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">calx:CostOfRevenueServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-04</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4e0265d501074aef9cf22a481824bb52_D20200628-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">calx:CostOfRevenueServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-28</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ibba56e0392df4d409a03c83589bf320b_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">calx:CostOfRevenueServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i805142f006874140a2357ca2d3fadb93_D20200101-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">calx:CostOfRevenueServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1eaa5204d4a34d59b1518bdf2044dcbc_D20210704-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-04</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie93c1d10efe2424b8d29f09e0531e02b_D20200628-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-28</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="idf0e5507a73a432b88ae86160155afa5_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia3dd35b65043498a84cc0596e41c2c3f_D20200101-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9c65bf315e424aa7bd7f39d55275dcf5_D20210704-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-04</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i772c16ce880843a79a4b7a9f4965bf5f_D20200628-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-28</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0d80a0be320d4e61a537de0fef063e31_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iff5a20af7a3c462e8528a4f4d682d516_D20200101-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if51072b2344645198283c7335025b8fa_D20210704-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-04</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia4640ca0f38f41aca5f638a6263297b1_D20200628-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-28</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i235a40528be84d13810530591767cd1f_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="icf9046f4e00941a280e9cf365f7814ea_D20200101-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7a14c192c5bf450ca474d4f8328b23e5_D20210704-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-04</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie81ab16379f9443d8ed0e4406fc75f60_D20200628-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-28</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5866dd40f1274b219500edb6d9786f6c_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie4327471603842a7bb37310fd67dc1d9_D20200101-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i198b55b2686043a5978e2c543a05d85f_D20210704-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">calx:AmericasExUSMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-04</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie95bc8c1f34c42e288724708421461fe_D20200628-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">calx:AmericasExUSMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-28</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i133345f892f3449db0ed646235039557_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">calx:AmericasExUSMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5a1282be7fc0436d93b71459914a311a_D20200101-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">calx:AmericasExUSMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2d87fd78a3d04e82809ef72b8a10b1a4_D20210704-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-04</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1170681e4f694ae4bbba3362fc1d8d8c_D20200628-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-28</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2a2a6fe17ae248e09a7b2eaa62fd5a2d_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib23281bfa7fe4317bcbd88a790b697b8_D20200101-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i961412cdc07a41a09e744a1d2eca7e10_D20210704-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">calx:MiddleEastAndAfricaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-04</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if5149a566e54487e87b55b262d0c5a5e_D20200628-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">calx:MiddleEastAndAfricaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-28</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i10b6afe9eecc499db6649e41ccea1223_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">calx:MiddleEastAndAfricaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ife74a1e870e84efe99f6b1692a620632_D20200101-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">calx:MiddleEastAndAfricaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i97b16fb9dbc44595b6cd18f71c7a989b_D20210704-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-04</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1366de14943043b5a122c0f766d143ad_D20200628-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-28</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0bb51a318bc34955b186c02803dc9114_D20210101-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie0883f68fdce446e8c70a7b9d3bbd714_D20200101-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i134e3c2252c1429188730b923ce77e2a_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DeferredRevenueArrangementTypeAxis">calx:ProductAndServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7b7c56ad57e143b9900a9bfb2dba51b5_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DeferredRevenueArrangementTypeAxis">calx:ProductAndServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i45960e21adcf4d1587a8690228933975_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DeferredRevenueArrangementTypeAxis">calx:ExtendedWarrantyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib89076c11da740c98fe91bb2c7dee146_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DeferredRevenueArrangementTypeAxis">calx:ExtendedWarrantyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id3610bee06384aef802a6c37e5dcb5af_I20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2021-10-03</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-10-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4780b123b7ca49ad991b6a42ed99f6a0_D20210704-20211002"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">calx:OneCustomerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-04</xbrli:startDate><xbrli:endDate>2021-10-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i139491e76a204d21a71a06b96c379ca9_D20200628-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">calx:LumenTechnologiesIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-28</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i002f48457d0a4c93a0915821290e3354_D20200101-20200926"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001406666</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">calx:LumenTechnologiesIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-09-26</xbrli:endDate></xbrli:period></xbrli:context></ix:resources></ix:header></div><div id="i5d41e0a2263341439e48bd03d8d3586a_1"></div><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:18pt;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:18pt;font-weight:700;line-height:120%">SECURITIES AND EXCHANGE COMMISSION</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">Washington, DC 20549</span></div><div style="margin-top:5pt;text-align:center"><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:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:5pt"><td colspan="3" style="border-bottom: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:18pt;font-weight:700;line-height:120%">FORM <ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="dei:DocumentType" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18yMDYy_3c965016-9c6f-4cdb-8dfd-2f24e2371a4b">10-Q</ix:nonNumeric></span></div><div style="margin-top:5pt;text-align:center"><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:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:5pt"><td colspan="3" style="border-bottom:2pt solid #000000;padding:0 1pt"></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(Mark One)</span></div><div style="margin-top:5pt"><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:4.756%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:93.044%"></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:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" format="ixt-sec:boolballotbox" name="dei:DocumentQuarterlyReport" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGFibGU6ZWQ4ZmNhZWVmYTRjNDk4Zjg2OTc4OGFmZDVlYTkzNmEvdGFibGVyYW5nZTplZDhmY2FlZWZhNGM0OThmODY5Nzg4YWZkNWVhOTM2YV8wLTAtMS0xLTU0NTE_14764d41-3f6c-4593-9771-046ceca3b7ed">&#9746;</ix:nonNumeric></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:12pt;font-weight:700;line-height:100%">QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</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:700;line-height:120%">For the quarterly period ended <ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" format="ixt:date-monthname-day-year-en" name="dei:DocumentPeriodEndDate" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18xMzM_dfdc626b-e790-4652-a896-a886c5ecb958">October&#160;2, 2021</ix:nonNumeric></span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">OR</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="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:4.756%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:93.044%"></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:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" format="ixt-sec:boolballotbox" name="dei:DocumentTransitionReport" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGFibGU6ODViMTc2OGZmYTY2NGMzZGI0NmJiNGE1OTkxMThiMjUvdGFibGVyYW5nZTo4NWIxNzY4ZmZhNjY0YzNkYjQ2YmI0YTU5OTExOGIyNV8wLTAtMS0xLTU0NTE_44bde2cb-1bef-4655-8a28-e76dbe0d0765">&#9744;</ix:nonNumeric></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:12pt;font-weight:700;line-height:100%">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</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: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="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Commission File Number: <ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="dei:EntityFileNumber" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18yMDYz_e3f711a2-f8ad-4dd2-8220-78ba4aa19f10">001-34674</ix:nonNumeric></span></div><div style="margin-top:11pt;text-align:center"><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:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:5pt"><td colspan="3" style="border-bottom: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:24pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="dei:EntityRegistrantName" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18yMDY0_6554d4c1-7193-4961-b1b9-a39b46b92d92">Calix, Inc</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:700;line-height:120%">(Exact Name of Registrant as Specified in Its Charter)</span></div><div style="margin-top:9pt;text-align:center"><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:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:5pt"><td colspan="3" style="border-bottom:2pt solid #000000;padding:0 1pt"></td></tr></table></div><div><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:48.533%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.581%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:46.486%"></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:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGFibGU6YjBkMmI2MmVmMGE0NGZiOWJlMWIwNDExZmI3YTIzMmUvdGFibGVyYW5nZTpiMGQyYjYyZWYwYTQ0ZmI5YmUxYjA0MTFmYjdhMjMyZV8wLTAtMS0xLTU0NTE_59e7079d-15de-4d9a-93dc-1fa42ddfdd71">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:8pt;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:700;line-height:100%"><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="dei:EntityTaxIdentificationNumber" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGFibGU6YjBkMmI2MmVmMGE0NGZiOWJlMWIwNDExZmI3YTIzMmUvdGFibGVyYW5nZTpiMGQyYjYyZWYwYTQ0ZmI5YmUxYjA0MTFmYjdhMjMyZV8wLTItMS0xLTU0NTE_0659fffe-088b-4379-bf98-b1d979e313af">68-0438710</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:8pt;font-weight:700;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:8pt;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:8pt;font-weight:700;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:700;line-height:120%"><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="dei:EntityAddressAddressLine1" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18yMDY1_52e3b2f6-96fe-4a6c-8aa4-811e9b30ab74">2777 Orchard Parkway</ix:nonNumeric>, <ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="dei:EntityAddressCityOrTown" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18yMDY3_0e136b0d-96b0-4d75-8e11-23134609e386">San Jose</ix:nonNumeric>, <ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="dei:EntityAddressStateOrProvince" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18yMDY2_3596b43b-ebd5-47be-abb0-c200e7f493fb">CA</ix:nonNumeric> <ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="dei:EntityAddressPostalZipCode" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18zNDM_a51fa5bc-6543-4b43-a7b5-c43b6bf806af">95134</ix:nonNumeric></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">(Address of Principal Executive Offices) (Zip Code)</span></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(<ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="dei:CityAreaCode" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18zOTk_3a7929b1-87ef-42c3-adf1-784c2733c7a7">408</ix:nonNumeric>) <ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="dei:LocalPhoneNumber" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18yMDU5_1682dbb5-d8de-4be9-a2c0-3d97cb39f414">514-3000</ix:nonNumeric></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">(Registrant&#8217;s Telephone Number, Including Area Code)</span></div><div style="margin-top:9pt;text-align:center"><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:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:5pt"><td colspan="3" style="border-bottom:2pt solid #000000;padding:0 1pt"></td></tr></table></div><div style="margin-bottom:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Securities registered pursuant to Section 12(b) of the Act:</span></div><div style="margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"></td><td style="width:35.571%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.830%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.076%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.420%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:39.403%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Title of Each Class</span></div></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%">Trading Symbol</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%">Name of Each Exchange on Which Registered</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="dei:Security12bTitle" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGFibGU6ZGNmYTE1OWZkOTYyNDVhN2E3ODg3NDBjZGFlYjQwY2MvdGFibGVyYW5nZTpkY2ZhMTU5ZmQ5NjI0NWE3YTc4ODc0MGNkYWViNDBjY18xLTAtMS0xLTU0NTE_366d9dad-de84-490e-a7fb-731f39478b6a">Common Stock, par value $0.025 per share</ix:nonNumeric></span></div></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:400;line-height:100%"><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="dei:TradingSymbol" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGFibGU6ZGNmYTE1OWZkOTYyNDVhN2E3ODg3NDBjZGFlYjQwY2MvdGFibGVyYW5nZTpkY2ZhMTU5ZmQ5NjI0NWE3YTc4ODc0MGNkYWViNDBjY18xLTItMS0xLTU0NTE_816ed11e-9330-400d-b616-de63acbc43d9">CALX</ix:nonNumeric></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:400;line-height:100%"><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGFibGU6ZGNmYTE1OWZkOTYyNDVhN2E3ODg3NDBjZGFlYjQwY2MvdGFibGVyYW5nZTpkY2ZhMTU5ZmQ5NjI0NWE3YTc4ODc0MGNkYWViNDBjY18xLTQtMS0xLTU0NTE_82d5c95d-b176-471d-95c7-6266971caf94">New York Stock Exchange</ix:nonNumeric></span></td></tr></table></div><div style="text-indent:24.75pt"><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) 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;&#160;<ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="dei:EntityCurrentReportingStatus" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18yMDYw_28895812-1ead-43b5-a1ec-a9d04f500bf9">Yes</ix:nonNumeric>:&#160;&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:9pt;font-weight:400;line-height:120%">x</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;No:&#160;&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:9pt;font-weight:400;line-height:120%">o</span></div><div style="margin-top:6pt;text-indent:24.75pt"><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 has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (&#167;232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="dei:EntityInteractiveDataCurrent" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18yMDYx_b805d87e-93f4-486e-bee4-870a45b07c6c">Yes</ix:nonNumeric>:&#160;&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:9pt;font-weight:400;line-height:120%">x</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;No:&#160;&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:9pt;font-weight:400;line-height:120%">o</span></div><div style="margin-top:6pt;text-indent:24.75pt"><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.</span></div><div style="margin-top:11pt;text-indent:24.75pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.175%"><tr><td style="width:1.0%"></td><td style="width:22.248%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.568%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.718%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:43.293%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.568%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:22.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.568%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:2.435%"></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%">Large Accelerated Filer</span></td><td colspan="3" style="padding:0 1pt"></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%">&#9744;</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:left;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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="dei:EntityFilerCategory" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGFibGU6N2FhYjU4ZjBmNmZiNDlmNWE2NzFkYWI1ODBjNGY2NGQvdGFibGVyYW5nZTo3YWFiNThmMGY2ZmI0OWY1YTY3MWRhYjU4MGM0ZjY0ZF8wLTUtMS0xLTU0NTE_f20ef6d9-dea9-417e-81c9-4aa906250225">Accelerated Filer</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"></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%">&#9746;</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></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%">Non-accelerated filer</span></td><td colspan="3" style="padding:0 1pt"></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%">&#9744;</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:left;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:0 1pt"></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%"><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" format="ixt-sec:boolballotbox" name="dei:EntitySmallBusiness" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGFibGU6N2FhYjU4ZjBmNmZiNDlmNWE2NzFkYWI1ODBjNGY2NGQvdGFibGVyYW5nZTo3YWFiNThmMGY2ZmI0OWY1YTY3MWRhYjU4MGM0ZjY0ZF8yLTctMS0xLTU0NTE_173eec5a-2ad2-4982-8a25-ecdc56d50c7c">&#9744;</ix:nonNumeric></span></td></tr><tr style="height:3pt"><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><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%">Emerging Growth Company</span></td><td colspan="3" style="padding:0 1pt"></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%"><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" format="ixt-sec:boolballotbox" name="dei:EntityEmergingGrowthCompany" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGFibGU6N2FhYjU4ZjBmNmZiNDlmNWE2NzFkYWI1ODBjNGY2NGQvdGFibGVyYW5nZTo3YWFiNThmMGY2ZmI0OWY1YTY3MWRhYjU4MGM0ZjY0ZF80LTItMS0xLTU0NTE_0a691c43-a07b-4022-84d5-74604b4544f6">&#9744;</ix:nonNumeric></span></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 style="text-indent:24.75pt"><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.    </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:9pt;font-weight:400;line-height:120%">o</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="margin-top:6pt;text-indent:24.75pt"><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&#160;Act).&#160;&#160;&#160;&#160;Yes:&#160;&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" format="ixt-sec:boolballotbox" name="dei:EntityShellCompany" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18xOTU0_465efa49-080a-445e-971c-a33e383d657c">&#9744;</ix:nonNumeric></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;&#160;&#160;No:&#160;&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:9pt;font-weight:400;line-height:120%">x</span></div><div style="margin-top:9pt;text-indent:24.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">As of October&#160;18, 2021, there were <ix:nonFraction unitRef="shares" contextRef="i739c36f9cdf14f7794a78f02788788f0_I20211018" decimals="INF" format="ixt:num-dot-decimal" name="dei:EntityCommonStockSharesOutstanding" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18xOTg3_1453bf6d-d8d8-45e5-b1f7-6113fec93675">63,756,160</ix:nonFraction> shares of the Registrant&#8217;s common stock, par value $0.025 outstanding.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><div id="i5d41e0a2263341439e48bd03d8d3586a_7"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></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%">CALIX, INC.</span></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FORM 10-Q</span></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">TABLE OF CONTENTS</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 style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.660%"><tr><td style="width:1.0%"></td><td style="width:92.313%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.487%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_10">PART I.&#160;FINANCIAL 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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_10">4</a></span></div></td></tr><tr style="height:3pt"><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:bottom"><div style="padding-left:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_13">Item&#160;1. Financial Statements (Unaudited)</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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_13">4</a></span></div></td></tr><tr style="height:3pt"><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:bottom"><div style="padding-left:60.75pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_16">Condensed Consolidated Balance Sheets</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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_16">4</a></span></div></td></tr><tr style="height:3pt"><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:bottom"><div style="padding-left:60.75pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_19">Condensed Consolidated Statements of Comprehensive </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_19">Income</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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_19">5</a></span></div></td></tr><tr style="height:3pt"><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:bottom"><div style="padding-left:60.75pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_22">Condensed Consolidated Statements of Stockholders' Equity</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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_22">6</a></span></div></td></tr><tr style="height:3pt"><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:bottom"><div style="padding-left:60.75pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_25">Condensed Consolidated Statements of Cash Flows</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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_25">7</a></span></div></td></tr><tr style="height:3pt"><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:bottom"><div style="padding-left:60.75pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_28">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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_28">8</a></span></div></td></tr><tr style="height:3pt"><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:bottom"><div style="padding-left:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_70">Item&#160;2. 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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_70">19</a></span></div></td></tr><tr style="height:3pt"><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:bottom"><div style="padding-left:60.75pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_73">Overview</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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_73">19</a></span></div></td></tr><tr style="height:3pt"><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:bottom"><div style="padding-left:60.75pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_76">Critical Accounting Policies and Estimates</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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_76">20</a></span></div></td></tr><tr style="height:3pt"><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:bottom"><div style="padding-left:60.75pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_79">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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_79">21</a></span></div></td></tr><tr style="height:3pt"><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:bottom"><div style="padding-left:60.75pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_82">Liquidity and Capital Resources</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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_82">24</a></span></div></td></tr><tr style="height:3pt"><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:bottom"><div style="padding-left:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_85">Item&#160;3. 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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_85">26</a></span></div></td></tr><tr style="height:3pt"><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:bottom"><div style="padding-left:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_88">Item&#160;4. 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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_88">28</a></span></div></td></tr><tr style="height:9pt"><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:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_91">PART II.&#160;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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_91">29</a></span></div></td></tr><tr style="height:3pt"><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:bottom"><div style="padding-left:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_94">Item&#160;1. Legal Proceedings</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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_91">29</a></span></div></td></tr><tr style="height:3pt"><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:bottom"><div style="padding-left:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_97">Item&#160;1A. 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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_97">29</a></span></div></td></tr><tr style="height:3pt"><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:bottom"><div style="padding-left:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_100">Item&#160;2. Unregistered Sales of Equity Securities and Use of Proceeds</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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_100">43</a></span></div></td></tr><tr style="height:3pt"><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:bottom"><div style="padding-left:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_103">Item&#160;3. Defaults Upon Senior Securities</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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_103">43</a></span></div></td></tr><tr style="height:3pt"><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:bottom"><div style="padding-left:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_106">Item&#160;4. Mine Safety Disclosures</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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_106">43</a></span></div></td></tr><tr style="height:3pt"><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:bottom"><div style="padding-left:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_109">Item&#160;5. 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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_109">43</a></span></div></td></tr><tr style="height:3pt"><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:bottom"><div style="padding-left:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_112">Item&#160;6. 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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_112">44</a></span></div></td></tr><tr style="height:3pt"><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:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_115">SIGNATURES</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%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i5d41e0a2263341439e48bd03d8d3586a_115">45</a></span></div></td></tr></table></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">3</span></div></div></div><div id="i5d41e0a2263341439e48bd03d8d3586a_10"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></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 I. FINANCIAL INFORMATION</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="i5d41e0a2263341439e48bd03d8d3586a_13"></div><div style="padding-left:36pt;text-indent:-36pt"><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-weight:700;line-height:120%;padding-left:35.36pt">Financial Statements </span></div><div id="i5d41e0a2263341439e48bd03d8d3586a_16"></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CALIX, INC.</span></div><div style="margin-top:6pt;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 par value)</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="margin-top:5pt"><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.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></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:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></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="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%">October 2,<br/>2021</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%">December 31,<br/>2020</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: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:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(Unaudited)</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%">&#160;(See Note 1)</span></td></tr><tr><td colspan="15" 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:700;line-height:100%">ASSETS</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%">Current assets:</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="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 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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfNC0yLTEtMS01NDUx_0e2a0707-c69c-4a90-b46c-40b52d271d54">60,215</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfNC00LTEtMS01NDUx_c67ba7bc-2946-43b8-919d-9b3ba2b06244">80,807</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%">Marketable 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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfNS0yLTEtMS01NDUx_c79ee944-5ad8-4f5e-8a87-246277861e25">128,492</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfNS00LTEtMS01NDUx_a01f1d77-16ad-4287-b517-7a5986c7dc26">52,982</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%">Accounts receivable, net</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfNi0yLTEtMS01NDUx_acb6e06f-c30e-4f9e-9fc6-2c75c8d67b64">91,929</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfNi00LTEtMS01NDUx_9c507bbc-42ab-4949-a95b-221be702c98b">69,419</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%">Inventory</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfNy0yLTEtMS01NDUx_6514a208-35e9-437c-9c48-b11e2fbb48e0">75,166</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfNy00LTEtMS01NDUx_583d1074-1fb4-4dce-ae48-157bcd702985">52,268</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%">Prepaid expenses and other current assets</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfOC0yLTEtMS01NDUx_d1e4dbe4-531c-42fa-b3c5-302e60ff48ba">18,957</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfOC00LTEtMS01NDUx_52ce3680-ea12-4fca-8ac5-f956c703e3dc">11,414</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 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%">Total current assets</span></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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfOS0yLTEtMS01NDUx_b6857670-a621-4a95-8be4-84ac06ff8fd3">374,759</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfOS00LTEtMS01NDUx_98251d7d-2160-4041-88ce-70ac0492afff">266,890</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%">Property and equipment, net</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTAtMi0xLTEtNTQ1MQ_5680d4be-3cf3-4eb8-8bc1-8147fc129c67">20,960</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTAtNC0xLTEtNTQ1MQ_224a8a26-182d-4905-9da7-8b01dc0e1510">20,381</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%">Right-of-use operating leases</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTEtMi0xLTEtNTQ1MQ_e86d8fc5-4e7e-42a9-973f-68c6bfce22c3">10,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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTEtNC0xLTEtNTQ1MQ_cf0a9b6c-a652-41c8-8584-7c7ce8eac9bc">11,741</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%">Deferred tax assets</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTItMi0xLTEtMTYwMzU_5bf685a0-0daf-4d9b-ab1c-d7ec75002acb">161,968</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:fixed-zero" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTItNC0xLTEtMTYwMzU_40d53388-8201-4545-a4db-54b1a6e90b07">&#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 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%">Goodwill</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTItMi0xLTEtNTQ1MQ_74ae6001-aa8a-4769-b611-098db7bb1760">116,175</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTItNC0xLTEtNTQ1MQ_f317f67c-ddc6-4606-b33d-27b10937d550">116,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 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 assets</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTMtMi0xLTEtNTQ1MQ_a41c41e2-3518-4a1c-b403-015f95657fe0">11,014</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTMtNC0xLTEtNTQ1MQ_8968da95-00cd-47ad-a6e0-2a2b6874402b">12,165</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 style="background-color:#ffffff;border-bottom:3pt double #000;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 #000;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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTQtMi0xLTEtNTQ1MQ_2a816180-7a75-4182-bc4f-5bd29cf726a8">695,717</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;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 #000;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 #000;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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTQtNC0xLTEtNTQ1MQ_39da9cb4-98a5-4d6f-8df7-1993832fc555">427,352</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="15" 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:700;line-height:100%">LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</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%">Current 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><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%">Accounts payable</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTctMi0xLTEtNTQ1MQ_a5b37f63-f86f-4a75-9ea1-a944ad008782">31,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 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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTctNC0xLTEtNTQ1MQ_e5942534-25e7-44f4-b463-2a849ef0f154">13,115</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%">Accrued liabilities</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTgtMi0xLTEtNTQ1MQ_2edba4ea-68d7-4b0b-91fb-bce195df8f0d">61,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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTgtNC0xLTEtNTQ1MQ_473e31de-5846-4832-b849-fd141a7b24ec">68,736</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%">Deferred revenue</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTktMi0xLTEtNTQ1MQ_6949014f-ffa5-4f0b-8391-484bae54cceb">24,217</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTktNC0xLTEtNTQ1MQ_6ecb0eeb-f435-4a3b-b1d5-02aaa24af75d">19,189</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 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%">Total current liabilities</span></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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjAtMi0xLTEtNTQ1MQ_af5b07cc-22cc-474c-94ed-41218eafa552">117,001</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjAtNC0xLTEtNTQ1MQ_61a9f746-506a-4309-9aed-80effd4fea79">101,040</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%">Long-term portion of deferred revenue</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjEtMi0xLTEtNTQ1MQ_d28c6adf-2f5c-4706-9467-0189d1bd656f">21,568</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjEtNC0xLTEtNTQ1MQ_e076061e-391d-4ed6-89c0-2d3c36234460">19,904</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%">Operating leases</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjItMi0xLTEtNTQ1MQ_0606775e-e82f-45a0-bf07-f63d8f15e86b">11,516</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjItNC0xLTEtNTQ1MQ_99ebea99-8fdf-4902-a79d-f6c5e8320682">12,946</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 long-term liabilities</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjMtMi0xLTEtNTQ1MQ_34e1d5ff-319f-4062-b5ec-ae0402d256eb">10,006</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjMtNC0xLTEtNTQ1MQ_7ca24ab3-aef9-4ea4-bab3-338ba996ef79">13,137</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 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%">Total liabilities</span></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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Liabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjQtMi0xLTEtNTQ1MQ_1370f75d-70a3-43c7-8c9e-01a95158969c">160,091</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Liabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjQtNC0xLTEtNTQ1MQ_9ec6b84b-9957-4660-a931-a7e70ad9ce67">147,027</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%">Commitments and contingencies (See Note 7)</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"><ix:nonFraction unitRef="usd" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" xsi:nil="true" name="us-gaap:CommitmentsAndContingencies" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjUtMi0xLTEtNTQ1MQ_2a7e2ce1-4324-4b4b-b99d-6102992e70cf"></ix:nonFraction></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"><ix:nonFraction unitRef="usd" contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" xsi:nil="true" name="us-gaap:CommitmentsAndContingencies" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjUtNC0xLTEtNTQ1MQ_842d5914-a746-4fa9-a0ed-13350af1ed72"></ix:nonFraction></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: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"><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%">Preferred stock, $<ix:nonFraction unitRef="usdPerShare" contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjctMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjMzNjljN2U2NmJiODRlNDRhNTQyZGMzY2IwOTYwYjFmXzIx_f77f5f0d-9701-4b42-aa2b-540a987301d8"><ix:nonFraction unitRef="usdPerShare" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjctMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjMzNjljN2U2NmJiODRlNDRhNTQyZGMzY2IwOTYwYjFmXzIx_fd8564f8-dfac-450a-bb34-079f6390c15f">0.025</ix:nonFraction></ix:nonFraction> par value; <ix:nonFraction unitRef="shares" contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:PreferredStockSharesAuthorized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjctMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjMzNjljN2U2NmJiODRlNDRhNTQyZGMzY2IwOTYwYjFmXzM1_97584bcc-aa44-42d7-9d91-2a0b64ad69ee"><ix:nonFraction unitRef="shares" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:PreferredStockSharesAuthorized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjctMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjMzNjljN2U2NmJiODRlNDRhNTQyZGMzY2IwOTYwYjFmXzM1_ae284369-9c57-4c68-89a0-86222e7f8299">5,000</ix:nonFraction></ix:nonFraction> shares authorized; <ix:nonFraction unitRef="shares" contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="INF" format="ixt:fixed-zero" name="us-gaap:PreferredStockSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjctMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjMzNjljN2U2NmJiODRlNDRhNTQyZGMzY2IwOTYwYjFmXzU3_5542f4ee-f861-4565-9a43-edac1a904bde"><ix:nonFraction unitRef="shares" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="INF" format="ixt:fixed-zero" name="us-gaap:PreferredStockSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjctMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjMzNjljN2U2NmJiODRlNDRhNTQyZGMzY2IwOTYwYjFmXzU3_642dd2a6-cada-4829-b430-9ee4cf61043a"><ix:nonFraction unitRef="shares" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="INF" format="ixt:fixed-zero" name="us-gaap:PreferredStockSharesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjctMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjMzNjljN2U2NmJiODRlNDRhNTQyZGMzY2IwOTYwYjFmXzU3_6de19c41-327e-4d3c-a552-7d448d6baf10"><ix:nonFraction unitRef="shares" contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="INF" format="ixt:fixed-zero" name="us-gaap:PreferredStockSharesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjctMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjMzNjljN2U2NmJiODRlNDRhNTQyZGMzY2IwOTYwYjFmXzU3_82d0a369-71af-4d45-a8ae-6c63a6d4b3bb">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> shares issued and outstanding as of October 2, 2021 and December 31, 2020</span></div></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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:fixed-zero" name="us-gaap:PreferredStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjctMi0xLTEtNTQ1MQ_b17a07d9-9bad-4595-9fef-626525bc114f">&#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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:fixed-zero" name="us-gaap:PreferredStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjctNC0xLTEtNTQ1MQ_80b32338-e2d9-41e8-bd6d-ab69c7063122">&#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;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%">Common stock, $<ix:nonFraction unitRef="usdPerShare" contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjgtMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjc1ZWExYzEyM2RlZjQwNWI5M2I0ZjFiN2ZhM2ZiN2M1XzE4_45130183-4038-4f2e-931d-5d0a57711cb0"><ix:nonFraction unitRef="usdPerShare" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjgtMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjc1ZWExYzEyM2RlZjQwNWI5M2I0ZjFiN2ZhM2ZiN2M1XzE4_8a7bd4ea-49b8-4dea-b63f-04f7457a537c">0.025</ix:nonFraction></ix:nonFraction> par value; <ix:nonFraction unitRef="shares" contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesAuthorized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjgtMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjc1ZWExYzEyM2RlZjQwNWI5M2I0ZjFiN2ZhM2ZiN2M1XzMy_b4aa675e-55c8-4558-8c17-280c4bb4fd33"><ix:nonFraction unitRef="shares" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesAuthorized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjgtMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjc1ZWExYzEyM2RlZjQwNWI5M2I0ZjFiN2ZhM2ZiN2M1XzMy_d71d9763-bb0c-4784-8bbe-90248a583978">100,000</ix:nonFraction></ix:nonFraction> shares authorized; <ix:nonFraction unitRef="shares" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjgtMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjc1ZWExYzEyM2RlZjQwNWI5M2I0ZjFiN2ZhM2ZiN2M1XzU0_724e3245-d11b-49be-9e9d-e4c14dd44818"><ix:nonFraction unitRef="shares" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjgtMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjc1ZWExYzEyM2RlZjQwNWI5M2I0ZjFiN2ZhM2ZiN2M1XzU0_d9a7886f-453c-4cf8-9f5c-f07cc62b6179">63,732</ix:nonFraction></ix:nonFraction> shares issued and outstanding as of October 2, 2021, and <ix:nonFraction unitRef="shares" contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjgtMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjc1ZWExYzEyM2RlZjQwNWI5M2I0ZjFiN2ZhM2ZiN2M1XzExMQ_21fbde04-f5af-439e-a57e-41a41cfee2e3"><ix:nonFraction unitRef="shares" contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjgtMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjc1ZWExYzEyM2RlZjQwNWI5M2I0ZjFiN2ZhM2ZiN2M1XzExMQ_7fc625b4-7c9f-4912-9961-b5436632bd06">62,122</ix:nonFraction></ix:nonFraction> shares issued and outstanding as of December 31, 2020</span></div></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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjgtMi0xLTEtNTQ1MQ_ea48cc95-cabc-4405-909b-2da9fc8b7cab">1,594</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjgtNC0xLTEtNTQ1MQ_57019fca-e430-4a73-b131-476681fe48eb">1,553</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%">Additional paid-in capital</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjktMi0xLTEtNTQ1MQ_5e8b154d-f4f5-4ed6-9f4b-a6ffe6fb605f">984,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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjktNC0xLTEtNTQ1MQ_eb053245-b203-4bf0-bfdf-f909986300fe">948,055</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%">Accumulated other comprehensive loss</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMzAtMi0xLTEtNTQ1MQ_39dfcafc-47af-433c-918d-1a90bddcbb5f">206</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMzAtNC0xLTEtNTQ1MQ_0fa32072-ad53-4b3f-9ce6-1fcb28493db8">191</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 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%">Accumulated deficit</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMzEtMi0xLTEtNTQ1MQ_0c4340d2-9a15-4278-8967-798a8cd64bc1">450,595</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMzEtNC0xLTEtNTQ1MQ_a1f9422a-f1ef-4536-93ac-68630bc85aef">669,092</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 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%">Total stockholders&#8217; equity</span></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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMzItMi0xLTEtNTQ1MQ_dc342a19-d70e-4ea0-95e4-beebf2774e92">535,626</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMzItNC0xLTEtNTQ1MQ_8cca8e97-6aa4-4db0-a479-3970a17aedfd">280,325</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: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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMzMtMi0xLTEtNTQ1MQ_218232ec-53f8-437a-a94a-be67a5a89f1e">695,717</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMzMtNC0xLTEtNTQ1MQ_473e0776-695c-4466-9b30-3e586513daf3">427,352</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><div style="margin-top:4pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See accompanying notes to condensed consolidated financial statements.</span></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">4</span></div></div></div><div id="i5d41e0a2263341439e48bd03d8d3586a_19"></div><hr style="page-break-after:always"/><div style="min-height:40.5pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></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%">CALIX, INC.</span></div><div style="margin-top:6pt;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, except per share data)</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="margin-top:5pt"><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.098%"></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.619%"></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.619%"></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.619%"></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.625%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;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%">&#160;</span></td><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:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><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:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></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:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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%">September 26,<br/>2020</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%">October 2,<br/>2021</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%">September 26,<br/>2020</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%">Revenue:</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 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%">Systems</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="i713404b8f56641e49de98167821fceca_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMy0yLTEtMS01NDUx_a1d898c4-8665-4c68-a220-4c7ef08aa3e9">163,076</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="i4753558e8825419791b17ca7d213063f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMy00LTEtMS01NDUx_42eca661-63e9-46d7-b7ce-b9e27fdda512">142,294</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="i877cb3ea439641b19d355312355d304a_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMy02LTEtMS01NDUx_72e1d122-fbd5-45a0-bff9-f31b651098a2">475,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 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="if645262fc12448669e387313b6f982eb_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMy04LTEtMS01NDUx_d711d0ce-0b73-4558-9c00-26e910005e0d">347,644</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%">Services</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="if100dab6087c4813b6e331aa16b6d287_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNC0yLTEtMS01NDUx_d3396f3a-fd15-4e4a-8ce2-b4f78db7fb03">9,155</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="ied5a853db0a9401392cd1be0b489e96d_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNC00LTEtMS01NDUx_3cde5c51-28c5-42b6-8459-eb6559e4c51c">8,214</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="i2816fb445ef844e39a36716ddf457529_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNC02LTEtMS01NDUx_e8cb792a-0e29-406f-b1f2-2f93d2711088">27,044</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="i4b3a8a37d33c485f979ef0b1b1d24699_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNC04LTEtMS01NDUx_ad46672c-b56e-441d-8c63-a677edac286f">23,569</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%">Total revenue</span></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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNS0yLTEtMS01NDUx_9b58ba8b-99fd-4d1b-855b-41f83bcf8eef">172,231</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNS00LTEtMS01NDUx_6de980de-2cbc-410f-9ac6-e38079a90fd7">150,508</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNS02LTEtMS01NDUx_42892cd5-cddc-4925-9d55-684896753baa">502,975</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNS04LTEtMS01NDUx_0d0ffeee-947b-4694-a8bc-66534c48626b">371,213</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%">Cost of revenue:</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 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%">Systems</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="i713404b8f56641e49de98167821fceca_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNy0yLTEtMS01NDUx_dc8e9e94-37f8-4ed5-9017-d9cb82ab982d">76,339</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="i4753558e8825419791b17ca7d213063f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNy00LTEtMS01NDUx_b924d64f-a15d-4526-8ec6-9c144a30e921">68,889</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="i877cb3ea439641b19d355312355d304a_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNy02LTEtMS01NDUx_90a53c9f-975a-4db5-abf2-90ef5d435b40">218,675</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="if645262fc12448669e387313b6f982eb_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNy04LTEtMS01NDUx_a75c2eb3-c809-406b-b0c6-8d12034b051c">176,318</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%">Services</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="if100dab6087c4813b6e331aa16b6d287_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfOC0yLTEtMS01NDUx_66886fc9-4d9c-463c-9a96-9c86030b6a7f">6,399</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="ied5a853db0a9401392cd1be0b489e96d_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfOC00LTEtMS01NDUx_7d319a1b-d4e0-417b-b95a-d2274fb3acea">5,644</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="i2816fb445ef844e39a36716ddf457529_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfOC02LTEtMS01NDUx_65745ddd-edd6-457b-9098-5352b7527162">18,946</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="i4b3a8a37d33c485f979ef0b1b1d24699_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfOC04LTEtMS01NDUx_f1eb31da-bafc-45ab-a1ab-ff6239086658">16,891</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%">Total cost of revenue</span></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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfOS0yLTEtMS01NDUx_2b22591f-62e9-41ca-8498-17b7d409d1e7">82,738</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfOS00LTEtMS01NDUx_16188e5f-e732-4694-8cb2-f4e25b1371d5">74,533</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfOS02LTEtMS01NDUx_dbdfde2c-e74b-4c17-ac07-12689ccadd98">237,621</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfOS04LTEtMS01NDUx_4f4f15c6-08db-4169-86c5-07fc9f3bda3a">193,209</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%">Gross profit</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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTAtMi0xLTEtNTQ1MQ_681e7b64-f91a-4c46-af62-155f7c6802d3">89,493</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTAtNC0xLTEtNTQ1MQ_5e654bd3-486f-4bdd-a161-d920a839692d">75,975</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTAtNi0xLTEtNTQ1MQ_89791e09-5007-4422-aca4-dbfa2b07bd2a">265,354</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTAtOC0xLTEtNTQ1MQ_b13c6170-1246-46e5-9745-871dd3c53e04">178,004</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%">Operating expenses:</span></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><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="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%">Sales and marketing</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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingAndMarketingExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTItMi0xLTEtNTQ1MQ_4736d3b5-814f-4ccc-8490-cb174dfee543">31,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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingAndMarketingExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTItNC0xLTEtNTQ1MQ_df89748a-624c-4a4c-8b33-eecc007f844c">23,079</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingAndMarketingExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTItNi0xLTEtNTQ1MQ_f2e9a244-07fa-40b9-986f-84d3bc30cf67">88,905</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingAndMarketingExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTItOC0xLTEtNTQ1MQ_78378b78-a4e2-45a6-ae2e-6fd25c0d30be">65,046</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%">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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTMtMi0xLTEtNTQ1MQ_23e2de58-0680-473f-b6b7-e6c530189de1">25,727</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTMtNC0xLTEtNTQ1MQ_2ac3488b-85a8-4024-ba77-a84d8e4d4709">20,378</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTMtNi0xLTEtNTQ1MQ_83fd1867-9bfa-4a5b-b30e-5018958cc2a7">75,807</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTMtOC0xLTEtNTQ1MQ_5ec08f5b-8d31-4b59-8ef4-43343a6d4dad">61,970</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%">General and administrative</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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTQtMi0xLTEtNTQ1MQ_10064e2a-555e-4f7c-8317-0b7360411f5c">14,631</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTQtNC0xLTEtNTQ1MQ_5d9eb3e8-0317-4911-888e-9596daa36bb5">10,768</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTQtNi0xLTEtNTQ1MQ_356fdbfc-0834-4df4-b7d7-4d2eba7edadf">41,320</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTQtOC0xLTEtNTQ1MQ_298477e8-1226-4bd6-ac94-68bbc8a9d4ec">32,630</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%">Restructuring charges</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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:fixed-zero" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTUtMi0xLTEtNTQ1MQ_6c6b79cc-b0e5-4551-835f-7e6b06c5ff8f">&#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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:fixed-zero" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTUtNC0xLTEtNTQ1MQ_f8c93317-23ce-488d-b0c1-3f5e68f0d06a">&#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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:fixed-zero" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTUtNi0xLTEtNTQ1MQ_2d47f30c-57c2-4151-be0b-73e056a2481c">&#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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTUtOC0xLTEtNTQ1MQ_1557fff2-4c3c-4967-b79e-4bd42bbe2b6c">6,286</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 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%">Total operating expenses</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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingExpenses" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTctMi0xLTEtNTQ1MQ_e56abda2-6e18-4b02-bcd8-cdfa4e7ec650">71,502</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingExpenses" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTctNC0xLTEtNTQ1MQ_7ced89b4-1d16-4855-8998-f8e8cbeee7c7">54,225</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingExpenses" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTctNi0xLTEtNTQ1MQ_4e70bf52-27cf-422c-b4b0-f8157498faa5">206,032</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingExpenses" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTctOC0xLTEtNTQ1MQ_03d2ab98-1470-4bef-b1ac-7924880b88d3">165,932</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%">Income from operations</span></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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTgtMi0xLTEtNTQ1MQ_21e5e5c0-41ca-46f1-b39d-01536c8ee682">17,991</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTgtNC0xLTEtNTQ1MQ_5b71f25e-1269-413e-bae0-6e39687753a8">21,750</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTgtNi0xLTEtNTQ1MQ_54eca8e3-ef97-4eb8-9fe4-97e133bf2c90">59,322</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTgtOC0xLTEtNTQ1MQ_9d2d4f8f-0419-48ea-b3f9-3629167eadbb">12,072</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%">Interest and other expense, net:</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 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%">Interest expense, net</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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNonoperatingNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjAtMi0xLTEtNTQ1MQ_bda80c13-a782-4b5c-a02e-b4cbc891ab4b">86</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNonoperatingNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjAtNC0xLTEtNTQ1MQ_d51711ae-1158-446f-820b-c038af60a996">356</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNonoperatingNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjAtNi0xLTEtNTQ1MQ_d7949b73-275d-4d2c-8386-e821a5d5287a">330</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:InterestIncomeExpenseNonoperatingNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjAtOC0xLTEtNTQ1MQ_3a1e727b-26df-4ea0-a2e2-795e9e1c19d9">1,263</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 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 expense, net</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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjEtMi0xLTEtNTQ1MQ_5a139b74-564a-4ed4-a083-baa5db3bc4dc">463</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjEtNC0xLTEtNTQ1MQ_43c8a261-153d-4c67-a397-b56eeea7452f">707</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjEtNi0xLTEtNTQ1MQ_f7eb587c-80d3-49b1-bd2a-690b7f8ca8cc">120</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjEtOC0xLTEtNTQ1MQ_ad9d515a-5776-4c0f-9873-f1b73c3a4441">801</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%">Total interest and other expense, net</span></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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" sign="-" name="calx:InterestAndOtherIncomeExpenseNonoperating" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjItMi0xLTEtNTQ1MQ_c2a90242-f10d-4379-9cc0-40f7b343b2bf">549</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="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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="calx:InterestAndOtherIncomeExpenseNonoperating" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjItNC0xLTEtNTQ1MQ_cfca0768-7f57-41ef-ae51-fb6d393a34b9">1,063</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="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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" sign="-" name="calx:InterestAndOtherIncomeExpenseNonoperating" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjItNi0xLTEtNTQ1MQ_49871058-1b2f-48f0-a0bb-344c6624c967">450</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="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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="calx:InterestAndOtherIncomeExpenseNonoperating" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjItOC0xLTEtNTQ1MQ_f82e9ef5-54d0-402c-801c-04ed54abb07a">2,064</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></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="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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjMtMi0xLTEtNTQ1MQ_5d432fc7-e43a-4c55-aec9-6aaf198ab796">17,442</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjMtNC0xLTEtNTQ1MQ_95350d1f-6420-439b-a148-3225400bd687">20,687</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjMtNi0xLTEtNTQ1MQ_a4d5fd38-c308-4a0c-9403-a49e94843084">58,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="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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjMtOC0xLTEtNTQ1MQ_ec898e7b-9b16-4bbb-8f2d-4da7922f6288">10,008</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 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%">Income taxes</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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjQtMi0xLTEtNTQ1MQ_eefc8b3a-0e05-4770-a75f-8c66a1715038">159,982</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjQtNC0xLTEtNTQ1MQ_d020b24f-85bb-4c4f-b32b-a2a8f7624979">149</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjQtNi0xLTEtNTQ1MQ_d54af962-c546-403d-803c-47c4fa45f292">159,625</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjQtOC0xLTEtNTQ1MQ_2077c48d-ccf9-4956-8029-ef1b46a78d7d">626</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%">Net income</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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjUtMi0xLTEtNTQ1MQ_97124708-bf70-4eba-a710-4b8efa98f7ad">177,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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjUtNC0xLTEtNTQ1MQ_db29d3f7-7bce-4750-a7fe-a9c7e0a7265a">20,538</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjUtNi0xLTEtNTQ1MQ_5f7f1356-6b27-4230-8e56-508be32331af">218,497</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjUtOC0xLTEtNTQ1MQ_53d0cbad-b1ce-4428-b741-2aa3be7de2d8">9,382</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%">Net income per common share:</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 #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 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%">Basic</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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjctMi0xLTEtNTQ1MQ_063eb1ee-8026-4afe-be2b-04e90d00cb12">2.79</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjctNC0xLTEtNTQ1MQ_319b0f01-b0aa-457e-8d31-5bc56d6dfb54">0.34</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjctNi0xLTEtNTQ1MQ_6c11bca7-8cd5-49d0-bf2f-812b301427bf">3.47</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjctOC0xLTEtNTQ1MQ_c213173a-ec2f-475c-a8e7-2e670ae14d50">0.16</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%">Diluted</span></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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjgtMi0xLTEtNTQ1MQ_487cc4be-5b8c-4433-851f-024ba7df036a">2.61</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjgtNC0xLTEtNTQ1MQ_2582438d-c3dc-43f0-bc9f-52afff07c96a">0.32</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjgtNi0xLTEtNTQ1MQ_a1eab2c7-0a90-4619-aaa0-bf11dafdb0fe">3.24</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjgtOC0xLTEtNTQ1MQ_c860f65b-015a-4dea-a5dc-82f49997fdaf">0.16</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></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 to compute</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 #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 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%">net income per common share:</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 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%">Basic</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="shares" contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzEtMi0xLTEtNTQ1MQ_b71d34cf-0544-41a8-b977-6768fb69d959">63,588</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="shares" contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzEtNC0xLTEtNTQ1MQ_166438bc-d1a7-4736-a2b6-f24cb292f142">60,307</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="shares" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzEtNi0xLTEtNTQ1MQ_1ca50b44-c676-4986-afd6-c5c431a509ee">63,057</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="shares" contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzEtOC0xLTEtNTQ1MQ_f2334189-0f9c-45ef-a508-30ca34f6ec52">58,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 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%">Diluted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzItMi0xLTEtNTQ1MQ_72d97253-a319-42d0-95fd-5bdb65dddd0c">67,907</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 colspan="2" style="background-color:#ffffff;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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzItNC0xLTEtNTQ1MQ_b90ca7b6-428e-48b7-9dee-be90eed4b659">63,449</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 colspan="2" style="background-color:#ffffff;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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzItNi0xLTEtNTQ1MQ_321433ff-c13e-4753-9ba6-e9fdea479c12">67,537</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 colspan="2" style="background-color:#ffffff;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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzItOC0xLTEtNTQ1MQ_e59f06f2-3fdb-468c-8251-f93a1378b2d1">60,331</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></tr><tr style="height:3pt"><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;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;text-align: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="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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzQtMi0xLTEtNTQ1MQ_f07a5dd6-391d-4522-b566-65435241b9fe">177,424</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzQtNC0xLTEtNTQ1MQ_e053a632-f518-4086-810a-edf3a5bfe63b">20,538</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzQtNi0xLTEtNTQ1MQ_6b5749d9-d687-4854-85d5-4dbd161d4a66">218,497</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzQtOC0xLTEtNTQ1MQ_a948986e-9d9c-4915-a76b-1f9ae7ca09b0">9,382</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: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%">Other comprehensive income (loss), net of tax -<br/>foreign currency translation adjustments, net</span></div></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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzgtMi0xLTEtNTQ1MQ_d2f2896b-5617-46ed-86c6-1e1f05d8934e">24</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzgtNC0xLTEtNTQ1MQ_f435d26b-7dd8-4a42-b491-cea0b78973fb">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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzgtNi0xLTEtNTQ1MQ_a222742d-0ad4-455c-8035-4d4759de5c8b">15</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzgtOC0xLTEtNTQ1MQ_bddb1875-84af-4f5b-a299-a3f1a915b104">161</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></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%">Comprehensive income</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%"><ix:nonFraction unitRef="usd" contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNDAtMi0xLTEtNTQ1MQ_3c4228ec-9386-42f9-83f4-d1e4f71c3016">177,400</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNDAtNC0xLTEtNTQ1MQ_38350549-7bd0-4063-b1dc-f17e81e4cd33">20,948</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNDAtNi0xLTEtNTQ1MQ_8dc152eb-c55b-439a-ab23-9bc88d564789">218,482</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNDAtOC0xLTEtNTQ1MQ_36c51dc0-7132-4e08-b762-6d7a91f3f84e">9,543</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><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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="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="margin-top:1pt;text-align:center"><span><br/></span></div><div style="margin-top:1pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See accompanying notes to condensed consolidated financial statements.</span></div><div style="height:40.5pt;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:9pt;font-weight:400;line-height:120%">5</span></div></div></div><div id="i5d41e0a2263341439e48bd03d8d3586a_22"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></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%">CALIX, INC.</span></div><div style="margin-top:6pt;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, unaudited)</span></div><div style="text-align:center"><span><br/></span></div><div style="margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:27.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.214%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.563%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.234%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.682%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.922%"></td><td style="width:0.1%"></td></tr><tr style="height:11pt"><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:6pt;font-weight:700;line-height:100%">Common Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">Additional Paid-in Capital</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">Accumulated Other Comprehensive Loss</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">Accumulated Deficit</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">Treasury Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">Total Stockholders&#8217; Equity</span></td></tr><tr style="height:12pt"><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:6pt;font-weight:700;line-height:100%">Shares</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:6pt;font-weight:700;line-height:100%">Amount</span></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="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:7pt;font-weight:700;line-height:100%">Balance at July 3, 2021</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i719aee2ec2074761a484a36bd8b38658_I20210703" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfMi0xLTEtMS01NDUx_dde2fda5-3ab9-4c84-90f6-00b5e7003f22">63,200</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i719aee2ec2074761a484a36bd8b38658_I20210703" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfMi0zLTEtMS01NDUx_a8d1b6b7-d37f-4f37-a5de-267a66942fae">1,580</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i96f3d0c1ebfa4f68ba141d50b140850e_I20210703" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfMi01LTEtMS01NDUx_e649aa52-2304-4a8c-a1fe-ba74b53146ed">972,259</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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ibeced1c7ba50417fb67be8b1a105add6_I20210703" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfMi03LTEtMS01NDUx_f27bbd7a-8a01-4304-9e34-9837e08005c3">182</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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i65f386b867bb4d27828de8ba7095914a_I20210703" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfMi05LTEtMS01NDUx_b27658ee-5c3f-46d6-bb2e-9700095b378e">628,019</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4c1ad5e2de2a46189e308f662fa777c2_I20210703" decimals="-3" format="ixt:fixed-zero" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfMi0xMS0xLTEtNTQ1MQ_d6d16f90-be55-4ebf-98d7-d59012b31479">&#8212;</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ibdff310060b846bfb5608e4f0b9de9d5_I20210703" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfMi0xMy0xLTEtNTQ1MQ_9186e53d-e75f-4165-9930-c6fb1cf1c0fe">345,638</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"><div style="padding-left:11.25pt;text-indent:-4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Stock-based compensation</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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iabac216f03a1461fa4f42bcdf760d959_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfMy01LTEtMS01NDUx_840e37f3-2012-48bf-a5b7-929ba0ecb16e">6,661</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:7pt;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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfMy0xMy0xLTEtNTQ1MQ_fa739456-4624-4528-ba11-735af02d08ff">6,661</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;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Issuance of common stock under equity incentive plans, net of forfeitures</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i73192d159c5a494b9a92afe96c5f355d_D20210704-20211002" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNC0xLTEtMS01NDUx_a1e4a70a-99a0-49a7-a5a5-3bd7b0099583">532</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73192d159c5a494b9a92afe96c5f355d_D20210704-20211002" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNC0zLTEtMS01NDUx_5cb3244f-6686-41ae-9e1d-e0c3441f0039">14</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iabac216f03a1461fa4f42bcdf760d959_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNC01LTEtMS01NDUx_fdf33258-9cb4-4229-b694-1eb61e854fd4">5,913</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:7pt;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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNC0xMy0xLTEtNTQ1MQ_4c4503f4-36a5-4577-86fc-06f8f7ddac85">5,927</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;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;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:7pt;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:7pt;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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8394d1d1365743f1af0d64bc993efbf7_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNS05LTEtMS01NDUx_4a7eea11-da1b-40dd-b8d5-47f15aefb9eb">177,424</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNS0xMy0xLTEtNTQ1MQ_5734ab97-a783-434d-ae70-92e95c3203e8">177,424</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;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;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:7pt;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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i81dd5b82aa524c8281fd6d86ff0ac306_D20210704-20211002" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNi03LTEtMS01NDUx_0c1d1237-b944-470e-a14e-5dd3c49f91ad">24</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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNi0xMy0xLTEtNTQ1MQ_f5339f19-2f61-46ba-8d25-9885a7ea533e">24</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:7pt;font-weight:700;line-height:100%">Balance at October 2, 2021</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ib6cbefe9b5304859aaa0042df1ff7169_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNy0xLTEtMS01NDUx_740c2d95-39b2-4caf-9a09-1f029f5fc494">63,732</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6cbefe9b5304859aaa0042df1ff7169_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNy0zLTEtMS01NDUx_9b00060b-51c9-4c85-9566-d559dc49a990">1,594</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f0b6e94b6524e96bf9c63cb7ebca22a_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNy01LTEtMS01NDUx_f1da49d3-7885-48a0-abd6-bb377f97d9cb">984,833</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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iab5c3d5e54444c6c9b24a13ad207e9f1_I20211002" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNy03LTEtMS01NDUx_44e3742f-e1eb-45d0-baeb-1ef92a0861a0">206</ix:nonFraction>)</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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6ca731aad112464c83bdf45cceba5da2_I20211002" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNy05LTEtMS01NDUx_59b316e1-b413-4704-9d4e-bd15ee6f19da">450,595</ix:nonFraction>)</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6c405edb07742b0b59fb8f74773cd6e_I20211002" decimals="-3" format="ixt:fixed-zero" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNy0xMS0xLTEtNTQ1MQ_3f77afe4-1845-406f-a2ca-37dc2f209fdf">&#8212;</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNy0xMy0xLTEtNTQ1MQ_09ed3fd0-4cea-481c-a4c1-a851f1cf948d">535,626</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><div style="margin-top:11pt;text-align:center"><span><br/></span></div><div style="margin-top:6pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:27.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.214%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.563%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.234%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.682%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.922%"></td><td style="width:0.1%"></td></tr><tr style="height:11pt"><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:6pt;font-weight:700;line-height:100%">Common Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">Additional Paid-in Capital</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">Accumulated Other Comprehensive Loss</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">Accumulated Deficit</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">Treasury Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">Total Stockholders&#8217; Equity</span></td></tr><tr style="height:11pt"><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:6pt;font-weight:700;line-height:100%">Shares</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:6pt;font-weight:700;line-height:100%">Amount</span></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="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:7pt;font-weight:700;line-height:100%">Balance at June 27, 2020</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i82db4d0313534420a469f5471a357280_I20200627" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfMi0xLTEtMS01NDUx_5541fc59-0844-4bba-9a7b-96360efc2924">58,143</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i82db4d0313534420a469f5471a357280_I20200627" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfMi0zLTEtMS01NDUx_d4ddfe94-7f42-4040-8815-30a962ab28af">1,587</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i57afc6bf7fbf4296be86461c9162dd7a_I20200627" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfMi01LTEtMS01NDUx_0a924de9-5056-4454-8a14-ff4ce8655c3b">912,402</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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ia2792190cc714ae59f3615b421fceb57_I20200627" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfMi03LTEtMS01NDUx_6b174e82-fa10-4fa2-bed2-8926f952b9da">1,103</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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5c68251911c4458497df5c9d59ba3057_I20200627" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfMi05LTEtMS01NDUx_265fbda8-91b5-41e5-8e28-f720f54a6c79">713,732</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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ia19cc151987a4e9b86e5498de05c46be_I20200627" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfMi0xMS0xLTEtNTQ1MQ_c3b20fe3-20d1-4cbb-9792-414009a50184">39,986</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if85299be32f348a59681f41a2b3c4943_I20200627" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfMi0xMy0xLTEtNTQ1MQ_00adedc3-34d1-4a6c-8ae7-0b8532433408">159,168</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"><div style="padding-left:11.25pt;text-indent:-4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Stock-based compensation</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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ied3d352f397e42fd8677496a633e316f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfMy01LTEtMS01NDUx_087b166f-53b1-4e54-860d-a5f8a2d4973c">3,574</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:7pt;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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfMy0xMy0xLTEtNTQ1MQ_b2e69558-9932-4228-a054-91b93fce49e4">3,574</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;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Issuance of common stock under equity incentive plans, net of forfeitures</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i9d3a6d150f0f4852bcb44ad5f8b5b5a7_D20200628-20200926" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNC0xLTEtMS01NDUx_c0a0425d-5efb-487b-aea3-41ace0fd4e6e">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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9d3a6d150f0f4852bcb44ad5f8b5b5a7_D20200628-20200926" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNC0zLTEtMS01NDUx_5f74dc62-718e-4161-901c-bdfe5a987da7">9</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ied3d352f397e42fd8677496a633e316f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNC01LTEtMS01NDUx_07a4c57a-bdf0-46f6-8b3c-fcaf3551a46b">3,769</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:7pt;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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNC0xMy0xLTEtNTQ1MQ_97498882-72cc-4223-a855-2233c9e1d7b4">3,778</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;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Issuance of common stock in connection with public offering</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i9d3a6d150f0f4852bcb44ad5f8b5b5a7_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNS0xLTEtMS0xMzg1Mw_48a92588-954e-4a40-bfd9-c4cef47462f4">3,220</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9d3a6d150f0f4852bcb44ad5f8b5b5a7_D20200628-20200926" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNS0zLTEtMS0xMzg1Mw_a71a6267-df80-4561-9b0a-8582191bd3fb">82</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ied3d352f397e42fd8677496a633e316f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNS01LTEtMS0xMzg1Mw_b7e54b79-da62-446e-a275-37d544d105d9">59,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:7pt;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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNS0xMy0xLTEtMTM4NTM_49078e88-5224-4826-803a-ed500a8680d8">60,063</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;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Treasury stock retirement</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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9d3a6d150f0f4852bcb44ad5f8b5b5a7_D20200628-20200926" decimals="-3" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNi0zLTEtMS0xMzg1Mw_afaa3d6c-79c9-483b-850c-fcd1cc64843b">134</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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ied3d352f397e42fd8677496a633e316f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNi01LTEtMS0xMzg1Mw_42abb5b3-6b47-4f4d-bd94-06972a93a663">39,852</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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9db9ff25c808451789056a63e326d239_D20200628-20200926" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNi0xMS0xLTEtMTM4NTM_af996c87-248e-4c09-9326-9903ac076451">39,986</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:fixed-zero" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNi0xMy0xLTEtMTM4NTM_55000a9b-3680-483e-9020-25f213bad293">&#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 12.25pt;text-align:left;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;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:7pt;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:7pt;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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idb760cad941944dd9c89716d1f9660a1_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNS05LTEtMS01NDUx_e53afeb4-df5e-4ea3-bdb8-06f5f9ba47e0">20,538</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNS0xMy0xLTEtNTQ1MQ_bd9e5016-1311-416d-a58c-bc2c28d2272c">20,538</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;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;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:7pt;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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2dbc2fde70e34e4897d353aee3a7037a_D20200628-20200926" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNi03LTEtMS01NDUx_a693d069-c826-4178-944c-c3133848e90d">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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNi0xMy0xLTEtNTQ1MQ_fcc7ca54-cd84-4b4f-8331-b0d6cb64f4a0">410</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:7pt;font-weight:700;line-height:100%">Balance at September 26, 2020</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i713dc1c8318346e0ae59b8d0914f7f61_I20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNy0xLTEtMS01NDUx_ae821bd7-5dd7-4484-b787-b918b6f0a892">61,770</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i713dc1c8318346e0ae59b8d0914f7f61_I20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNy0zLTEtMS01NDUx_32626257-7d38-4a10-b078-4269dcdef68b">1,544</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i399629ec6b9c49f68307f3835617ea2c_I20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNy01LTEtMS01NDUx_a2752e60-25d2-4bca-9f70-84a650890f98">939,874</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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6856290b10384d088d66ddfcab850433_I20200926" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNy03LTEtMS01NDUx_1833b0ed-77fb-456f-9ba9-129ef94c454b">693</ix:nonFraction>)</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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i45f42dc11ed941088083eecb9e07bcbc_I20200926" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNy05LTEtMS01NDUx_3dc914c8-a9e3-45e2-b3b0-ee9571239250">693,194</ix:nonFraction>)</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic847eb288b6543caad90a00bf54a740b_I20200926" decimals="-3" format="ixt:fixed-zero" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNy0xMS0xLTEtNTQ1MQ_d3956624-3e0e-47e0-a1a1-4cbbd8cc4849">&#8212;</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5b5927dd8cce44bc93f27feb4b7c149e_I20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNy0xMy0xLTEtNTQ1MQ_98cc5aa1-1e52-4d02-a9cb-f5878847c5a1">247,531</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><div style="margin-top:1pt;text-align:center"><span><br/></span></div><div style="margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:27.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.214%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.563%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.234%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.682%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.922%"></td><td style="width:0.1%"></td></tr><tr style="height:11pt"><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:6pt;font-weight:700;line-height:100%">Common Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">Additional Paid-in Capital</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">Accumulated Other Comprehensive Loss</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">Accumulated Deficit</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">Treasury Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">Total Stockholders&#8217; Equity</span></td></tr><tr style="height:12pt"><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:6pt;font-weight:700;line-height:100%">Shares</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:6pt;font-weight:700;line-height:100%">Amount</span></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="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:7pt;font-weight:700;line-height:100%">Balance at December 31, 2020</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i94d71ce498f84b9b9e061480730494ed_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfMi0xLTEtMS01NDUx_a4db38b4-2774-4cac-8769-6303a39eb5c2">62,122</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i94d71ce498f84b9b9e061480730494ed_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfMi0zLTEtMS01NDUx_170ee027-0e7d-42eb-b1d1-8d9488361a37">1,553</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i43fc40c3c91f4c50ae3e849790ac4358_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfMi01LTEtMS01NDUx_b30a5d8c-0452-4c69-89cd-0ba21a8d1cbe">948,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><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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iadb337735f9143f098c64a98535ed730_I20201231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfMi03LTEtMS01NDUx_8e696b60-17c9-4233-b573-6a3444e3062e">191</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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if43e8a75a45a4535bc4a7735f0a267dc_I20201231" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfMi05LTEtMS01NDUx_a8f46be6-2883-4949-a965-1ab1ea5e7f22">669,092</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i34f2c7857f5a4299beb8dad5f274d66d_I20201231" decimals="-3" format="ixt:fixed-zero" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfMi0xMS0xLTEtNTQ1MQ_21db179c-60ba-4a69-9d92-0185851e4136">&#8212;</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfMi0xMy0xLTEtNTQ1MQ_484d51de-bfd6-43a7-a41b-a149cc37e574">280,325</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"><div style="padding-left:11.25pt;text-indent:-4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Stock-based compensation</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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie468ca297b344933a8e6028e67ed815f_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfMy01LTEtMS01NDUx_05d62586-a244-4f54-8ef8-4112afa63bc7">18,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:7pt;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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfMy0xMy0xLTEtNTQ1MQ_f70bda90-9486-42cd-be24-1c869ae8c584">18,055</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;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Issuance of common stock under equity incentive plans, net of forfeitures</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i762e0d8988ae4bda9907959f882fcde4_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNC0xLTEtMS01NDUx_35c6b373-5acc-46a7-96b1-0c2086bc4b95">1,610</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i762e0d8988ae4bda9907959f882fcde4_D20210101-20211002" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNC0zLTEtMS01NDUx_bf6f85fe-76b7-4dea-aa22-c5e5f20a8059">41</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie468ca297b344933a8e6028e67ed815f_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNC01LTEtMS01NDUx_8e66fd13-e10b-492e-a8ff-b97e2c1c67b0">18,723</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:7pt;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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNC0xMy0xLTEtNTQ1MQ_19b028cd-6bb7-4422-b28d-efbf4fb3fef1">18,764</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;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;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:7pt;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:7pt;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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49c3471cf0e44a2f9a2879f5e2f8fd0f_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNS05LTEtMS01NDUx_3cdc00af-fdee-4837-a601-6ac46a52ed55">218,497</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNS0xMy0xLTEtNTQ1MQ_8b48cb2a-a709-4c69-a6b1-4b2eabc60294">218,497</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;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;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:7pt;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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0584126924d6475bba24d98d000cfe9b_D20210101-20211002" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNi03LTEtMS01NDUx_568c330e-e39b-4baf-8e0d-12306a8ca5a8">15</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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNi0xMy0xLTEtNTQ1MQ_467d062e-6f10-48fe-848e-2fea572467b8">15</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:7pt;font-weight:700;line-height:100%">Balance at October 2, 2021</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ib6cbefe9b5304859aaa0042df1ff7169_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNy0xLTEtMS01NDUx_91acb63e-08eb-42ea-81fc-eb6dc7019db8">63,732</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6cbefe9b5304859aaa0042df1ff7169_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNy0zLTEtMS01NDUx_1748fce7-16e4-411f-88bb-c4157399cb32">1,594</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f0b6e94b6524e96bf9c63cb7ebca22a_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNy01LTEtMS01NDUx_3cd0e1d0-6e17-4e0a-a861-91388485152f">984,833</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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iab5c3d5e54444c6c9b24a13ad207e9f1_I20211002" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNy03LTEtMS01NDUx_66e0fe2f-95bc-4305-b79f-684376c5e4cd">206</ix:nonFraction>)</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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6ca731aad112464c83bdf45cceba5da2_I20211002" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNy05LTEtMS01NDUx_9ad1c43d-5910-40f8-9a0a-f4e768dc640d">450,595</ix:nonFraction>)</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6c405edb07742b0b59fb8f74773cd6e_I20211002" decimals="-3" format="ixt:fixed-zero" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNy0xMS0xLTEtNTQ1MQ_9d686822-4743-4b87-84c9-80cfef5c5171">&#8212;</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNy0xMy0xLTEtNTQ1MQ_8952cc26-8789-4edc-adc1-0da985436f98">535,626</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><div style="margin-top:11pt;text-align:center"><span><br/></span></div><div style="margin-top:6pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:27.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.214%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.563%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.234%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.682%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.974%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.922%"></td><td style="width:0.1%"></td></tr><tr style="height:11pt"><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:6pt;font-weight:700;line-height:100%">Common Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">Additional Paid-in Capital</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">Accumulated Other Comprehensive Loss</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">Accumulated Deficit</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">Treasury Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">Total Stockholders&#8217; Equity</span></td></tr><tr style="height:11pt"><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:6pt;font-weight:700;line-height:100%">Shares</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:6pt;font-weight:700;line-height:100%">Amount</span></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="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:7pt;font-weight:700;line-height:100%">Balance at December 31, 2019</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="id735c32780e2439cb1c3e925a33155a7_I20191231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfMi0xLTEtMS01NDUx_05d92c6a-7985-4eb8-9c03-54579f7cc273">56,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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id735c32780e2439cb1c3e925a33155a7_I20191231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfMi0zLTEtMS01NDUx_3271645c-ea15-4fdd-8d6b-c90a5a75418d">1,545</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4560bfcb57504859980d178b4befab6f_I20191231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfMi01LTEtMS01NDUx_8c87b4cd-ed10-4149-9ad5-c82db6ed5fc9">895,899</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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i95bdd3dfd3a84101bc236031747fbc55_I20191231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfMi03LTEtMS01NDUx_d21d9574-75bb-48e4-b11e-9509dab3c740">854</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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5687cf6b0ccc4e12b649b1e3725e37b5_I20191231" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfMi05LTEtMS01NDUx_46a410e8-db8b-4173-8bfd-f609d41ae49e">702,576</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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ibf28ea2c6d9c46df8cf295ff21695b9b_I20191231" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfMi0xMS0xLTEtNTQ1MQ_65ee16f1-fc27-4609-b729-5e2b208eb820">39,986</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i01677da6d89f44ccbc9a41104c439270_I20191231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfMi0xMy0xLTEtNTQ1MQ_8b8d2a79-a016-4a34-9936-9d2a13f6685b">154,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></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:11.25pt;text-indent:-4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Stock-based compensation</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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idfea60db97244c8587b1f58c66d7aa3f_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfMy01LTEtMS01NDUx_49a479b7-86ae-4c04-992d-362e32d9b564">9,800</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:7pt;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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfMy0xMy0xLTEtNTQ1MQ_670054bf-8cd3-4569-a98a-3be6d3649233">9,800</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;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Issuance of common stock under equity incentive plans, net of forfeitures</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i0df46bc6cd5c401b97a9766495839643_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNC0xLTEtMS01NDUx_d5bdb415-eb0f-4020-aa17-da7a76e7bbd7">2,102</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0df46bc6cd5c401b97a9766495839643_D20200101-20200926" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNC0zLTEtMS01NDUx_7e78eee4-cde8-4c51-a8fd-a78d9337ae68">51</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idfea60db97244c8587b1f58c66d7aa3f_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNC01LTEtMS01NDUx_1fb7b7d6-93b0-4451-a5a9-18366ba28510">14,046</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:7pt;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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNC0xMy0xLTEtNTQ1MQ_5e02c5dd-1574-45b2-8f04-ae2efc00ee6c">14,097</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;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Issuance of common stock in connection with public offering</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i0df46bc6cd5c401b97a9766495839643_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNS0xLTEtMS0xMzkyNg_460e294f-dd2d-4e0c-8d41-3679164f2561">3,220</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0df46bc6cd5c401b97a9766495839643_D20200101-20200926" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNS0zLTEtMS0xMzkyNg_1c1cd902-70b2-4e32-969a-8f8eb3333edc">82</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idfea60db97244c8587b1f58c66d7aa3f_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNS01LTEtMS0xMzkyNg_38ad41c7-70fe-4779-978b-4ad07f60f5ef">59,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:7pt;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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNS0xMy0xLTEtMTQzNTI_b0db1c3e-5bc4-4297-b2b4-3930f61afdbe">60,063</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;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Treasury stock retirement</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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0df46bc6cd5c401b97a9766495839643_D20200101-20200926" decimals="-3" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNi0zLTEtMS0xMzkyNg_55ebc18a-63ae-4ce2-b136-c280b0db9bd0">134</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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="idfea60db97244c8587b1f58c66d7aa3f_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNi01LTEtMS0xMzkyNg_7d63d5ec-91dd-4528-a489-6ebe87aafae0">39,852</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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic9bab66f44e6405996b52ea0d927824e_D20200101-20200926" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNi0xMS0xLTEtMTM5MjY_5f024bfe-7a40-4525-8e9b-f0a712f96d34">39,986</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:fixed-zero" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNi0xMy0xLTEtMTQzNTQ_7c81a7ed-1acd-442c-92d8-801c4eab5cb1">&#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 12.25pt;text-align:left;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;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:7pt;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:7pt;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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5f4e2617778249599dac964228ad323e_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNS05LTEtMS01NDUx_80777128-80bb-4a9f-ad57-e42aa7c17791">9,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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNS0xMy0xLTEtNTQ1MQ_167658dd-bcb8-4e46-9e5a-76375ad27a8e">9,382</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;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;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:7pt;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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ida2d0ad75a3d4ab285100f6946ba74eb_D20200101-20200926" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNi03LTEtMS01NDUx_c2eabc6c-7e31-4184-b2d6-a449c4bc4948">161</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:7pt;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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNi0xMy0xLTEtNTQ1MQ_3e2aac8e-2c87-4d38-a690-6b2a57544eb4">161</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:7pt;font-weight:700;line-height:100%">Balance at September 26, 2020</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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i713dc1c8318346e0ae59b8d0914f7f61_I20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNy0xLTEtMS01NDUx_8e86596f-9406-4b77-a502-2c5305d7a49b">61,770</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i713dc1c8318346e0ae59b8d0914f7f61_I20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNy0zLTEtMS01NDUx_d049e970-8091-4347-9670-89eeecdfbf53">1,544</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i399629ec6b9c49f68307f3835617ea2c_I20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNy01LTEtMS01NDUx_cde15b52-bf1d-446f-bcdf-f0ff96c69326">939,874</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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6856290b10384d088d66ddfcab850433_I20200926" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNy03LTEtMS01NDUx_4f61aa79-7915-4184-9019-2561ab25b056">693</ix:nonFraction>)</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:7pt;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:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i45f42dc11ed941088083eecb9e07bcbc_I20200926" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNy05LTEtMS01NDUx_3a683b0f-3ac3-4222-b288-963617f81b92">693,194</ix:nonFraction>)</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic847eb288b6543caad90a00bf54a740b_I20200926" decimals="-3" format="ixt:fixed-zero" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNy0xMS0xLTEtNTQ1MQ_b9397d38-31bb-4f8f-8328-758de62bd5f6">&#8212;</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:7pt;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:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5b5927dd8cce44bc93f27feb4b7c149e_I20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNy0xMy0xLTEtNTQ1MQ_e6e02840-182e-4ddf-9d72-50313e15dae6">247,531</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><div style="margin-top:1pt;text-align:center"><span><br/></span></div><div style="margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See accompanying notes to 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:9pt;font-weight:400;line-height:120%">6</span></div></div></div><div id="i5d41e0a2263341439e48bd03d8d3586a_25"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></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%">CALIX, INC.</span></div><div style="margin-top:6pt;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, unaudited)</span></div><div style="margin-top:5pt"><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.338%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></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:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.574%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 25.75pt;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%">&#160;</span></td><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:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></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:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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%">September 26,<br/>2020</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%">Operating activities:</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></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%">Net income</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:10pt;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:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMy0yLTEtMS01NDUx_17b53d35-dd95-4a4b-a990-df2c320f3e6a"><ix:nonFraction unitRef="usd" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMy0yLTEtMS01NDUx_672cd548-32ae-4223-80e0-5c5ee8b49cdd">218,497</ix:nonFraction></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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMy00LTEtMS01NDUx_9093ae9e-f786-434c-be31-121c3bba3c45"><ix:nonFraction unitRef="usd" contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMy00LTEtMS01NDUx_fb354542-deda-4884-8856-801e625357b2">9,382</ix:nonFraction></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%">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: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 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%">Stock-based compensation</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfNS0yLTEtMS01NDUx_c02dc616-2adc-443b-9e13-082bbf830007">18,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%"><ix:nonFraction unitRef="usd" contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfNS00LTEtMS01NDUx_77183ff5-99f3-478f-8dbc-5d9b6a53ac5d">9,800</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 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%">Depreciation and amortization</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfNi0yLTEtMS01NDUx_5416bfe0-452b-4009-8164-dd3fd4d374f8">11,351</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfNi00LTEtMS01NDUx_50e44bce-615b-4bb0-95c6-74c5f48768d3">10,311</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 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%">Reversal of valuation allowance on deferred tax assets</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfNy0yLTEtMS0xNjA5Ng_80998d87-d384-46c9-9191-fabd61fd9e5e">161,995</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:fixed-zero" name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfNy00LTEtMS0xNjA5Ng_0fb8d6f6-0edd-4dea-8bf0-d1daf5f09431">&#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 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%">Asset retirements and write-downs</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:fixed-zero" name="us-gaap:AssetImpairmentCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfNy0yLTEtMS01NDUx_29981d7e-6aaf-4160-ad24-ff54fefb6c33">&#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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfNy00LTEtMS01NDUx_d7894e14-ab03-49f3-a849-ed7b9bafab78">3,749</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></tr><tr><td colspan="3" style="background-color:#ffffff;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%">Changes in operating 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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 61.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 receivable, net</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTAtMi0xLTEtNTQ1MQ_3d52302c-babe-477a-8399-0d065c77ea73">22,510</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTAtNC0xLTEtNTQ1MQ_ddc97df2-9e95-410f-9ab8-532e79ecdc3c">22,622</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 61.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%">Inventory</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTEtMi0xLTEtNTQ1MQ_c59dcff1-505a-4250-bb2c-98c72afb5cb4">22,897</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTEtNC0xLTEtNTQ1MQ_4c7c6674-c81d-4ce2-ac48-a17addb4c565">1,464</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 61.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 assets</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTItMi0xLTEtNTQ1MQ_eef91909-c8bb-41a6-a5fd-ddb3b9f27f28">9,776</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTItNC0xLTEtNTQ1MQ_c16e9e26-a344-4b2e-b076-dd23f165abc2">3,710</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 61.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 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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTMtMi0xLTEtNTQ1MQ_a2ddc0c0-0cb1-4b1a-a2f6-8889db6bd31d">18,311</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTMtNC0xLTEtNTQ1MQ_70089a3c-3ad0-47aa-8bc5-032fc1f8a5d4">5,616</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 61.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="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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTQtMi0xLTEtNTQ1MQ_8aeeaee0-16e2-4d90-bae8-72fd88c15825">7,008</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTQtNC0xLTEtNTQ1MQ_438d02ad-9060-44be-bcb6-63f46d33cee1">3,834</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 61.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="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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInDeferredRevenue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTUtMi0xLTEtNTQ1MQ_7a6414b2-a2bb-4878-9886-fc97da39ae74">6,691</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInDeferredRevenue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTUtNC0xLTEtNTQ1MQ_a0a4c7a1-1779-4354-8742-26a1be1f25ae">342</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 61.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%">Other long-term liabilities</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTYtMi0xLTEtNTQ1MQ_9a4ba730-0b16-48d7-a637-0b7b4cadf03e">4,544</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTYtNC0xLTEtNTQ1MQ_402d05c3-c51c-4212-a851-6a2325c80702">1,038</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 79.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 cash provided by operating activities</span></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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTctMi0xLTEtNTQ1MQ_f113ecf8-f8b6-4527-a4fc-6fffc861ded4">44,175</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTctNC0xLTEtNTQ1MQ_ae6f17c6-6eb0-426e-a329-af5f6d50f4b2">20,936</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:115%">Investing activities</span></div></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 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 property and equipment</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTktMi0xLTEtNTQ1MQ_0810001a-4188-4c16-b984-2fdf66645155">7,271</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTktNC0xLTEtNTQ1MQ_81a13fe7-f39d-4d72-85ba-d30589a93042">5,617</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 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="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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjAtMi0xLTEtNTQ1MQ_67afaf3f-4131-41c4-959b-fc8009b74669">200,509</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjAtNC0xLTEtNTQ1MQ_b78b9212-2387-4dfe-a42e-048cf9603121">39,986</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%">Maturities of marketable 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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjEtMi0xLTEtNTQ1MQ_3331aae9-6c76-46be-ab43-209e56241a6d">125,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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:fixed-zero" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjEtNC0xLTEtNTQ1MQ_d81e0fa2-70c5-4541-afd0-497dba56ef88">&#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 2px 79.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 cash used in investing activities</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjItMi0xLTEtNTQ1MQ_ea94f4db-e8f1-49c1-b129-9641c354a88a">82,780</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 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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjItNC0xLTEtNTQ1MQ_ab4bd97a-beef-45ab-8748-985aaac5f343">45,603</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></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%">Financing activities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #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:1pt solid #000;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%">Proceeds from common stock issuances related to employee benefit plans</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjQtMi0xLTEtNTQ1MQ_c18c0cad-f6d7-428c-b1c8-7addbfab6210">18,764</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjQtNC0xLTEtNTQ1MQ_d22cee87-1a79-4ba5-82e5-934d4f326301">14,097</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></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></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%">Payments related to financing arrangements</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" name="calx:PaymentsForFinancingArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjctMi0xLTEtNTQ1MQ_0aa6ba3d-b382-474c-8225-f166b609b042">723</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="calx:PaymentsForFinancingArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjctNC0xLTEtNTQ1MQ_160ab58b-3f91-4ae1-a8ed-b260f3a6a4c7">2,342</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 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 the sale of common stock in connection with public offering, net of expense</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:fixed-zero" name="us-gaap:ProceedsFromIssuanceOfCommonStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjgtMi0xLTEtNTQ1MQ_ef59b827-c367-400b-a97f-2e65bc1edd92">&#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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromIssuanceOfCommonStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjgtNC0xLTEtNTQ1MQ_bf96eac1-9afe-4414-b793-88f0dc8f46a3">60,063</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%">Proceeds from line of credit</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:fixed-zero" name="us-gaap:ProceedsFromLinesOfCredit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjktMi0xLTEtNTQ1MQ_28793b11-5e73-453b-a88b-a717bab75c54">&#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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromLinesOfCredit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjktNC0xLTEtNTQ1MQ_b0829582-5360-459a-ab3c-5e4b8465d7c2">30,000</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%">Repayment of line of credit</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:fixed-zero" name="us-gaap:RepaymentsOfLinesOfCredit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzAtMi0xLTEtNTQ1MQ_ea55edeb-f76c-4f77-99f1-c1a75f310640">&#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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RepaymentsOfLinesOfCredit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzAtNC0xLTEtNTQ1MQ_84cfbd70-5428-47dc-a7ed-aa2ef7e7fc29">60,000</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%">Payments to originate the line of credit</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:fixed-zero" name="us-gaap:PaymentsOfDebtIssuanceCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzEtMi0xLTEtNTQ1MQ_7fe4f85d-ec39-4245-88cd-8eccd6d86020">&#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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" name="us-gaap:PaymentsOfDebtIssuanceCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzEtNC0xLTEtNTQ1MQ_16724620-4e5f-4e11-b846-e15d39275344">285</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 79.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 cash provided by financing activities</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzItMi0xLTEtNTQ1MQ_1501b6ca-4b39-412e-a0e5-24d7fff72eb5">18,041</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzItNC0xLTEtNTQ1MQ_b2fef1ff-1bfa-455f-83a1-e6a1626401aa">41,533</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%">Effect of exchange rate changes on cash and cash equivalents</span></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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" sign="-" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzMtMi0xLTEtNTQ1MQ_071ff9dc-5794-48f3-8284-83c7903151e8">28</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="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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzMtNC0xLTEtNTQ1MQ_70457f8c-c418-4058-aee1-5a9294a8bdea">131</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%">Net increase (decrease) in cash and cash equivalents</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzQtMi0xLTEtNTQ1MQ_406ba569-cfce-448b-8805-6fa4aedef075">20,592</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 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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzQtNC0xLTEtNTQ1MQ_ef10825b-e045-4fcb-b30b-f688af8e6897">16,997</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%">Cash and cash equivalents at beginning of period</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzUtMi0xLTEtNTQ1MQ_728f649f-5820-489a-9819-3c9d992d2213">80,807</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="i01677da6d89f44ccbc9a41104c439270_I20191231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzUtNC0xLTEtNTQ1MQ_4dede463-c240-407b-9d4a-424df1ef420c">47,457</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 and cash equivalents at end of period</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%"><ix:nonFraction unitRef="usd" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzYtMi0xLTEtNTQ1MQ_73cc860d-5c40-4624-8e0e-60df6589d7b8">60,215</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="i5b5927dd8cce44bc93f27feb4b7c149e_I20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzYtNC0xLTEtNTQ1MQ_ed95a75d-16eb-44bd-af93-b257d4cbdba7">64,454</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 style="margin-top:4pt;text-align:center"><span><br/></span></div><div style="margin-top:4pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See accompanying notes to condensed consolidated financial statements.</span></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">7</span></div></div></div><div id="i5d41e0a2263341439e48bd03d8d3586a_28"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></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%">CALIX, INC.</span></div><div style="margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:700;line-height:120%">(Unaudited)</span></div><div id="i5d41e0a2263341439e48bd03d8d3586a_31"></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">1.  <ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zMS9mcmFnOjg3ZTVlMTg5MjJjMzRhYzU5ZDk4ODVlZGU4ODBlODVmL3RleHRyZWdpb246ODdlNWUxODkyMmMzNGFjNTlkOTg4NWVkZTg4MGU4NWZfNDkwNg_70914c4a-d41d-4410-964b-712608e9e813" continuedAt="ia0f65e8608644b7799fb229cf6c9f75b" escape="true">Company and Basis of Presentation</ix:nonNumeric></span></div><ix:continuation id="ia0f65e8608644b7799fb229cf6c9f75b"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Company</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Calix, Inc. (together with its subsidiaries, &#8220;Calix&#8221; or the &#8220;Company&#8221;) was incorporated in August 1999 and is a Delaware corporation. The Company is the leading global provider of cloud and software platforms, systems and services that focus on the access network, the portion of the network that governs available bandwidth and determines the range and quality of services that can be offered to subscribers. These cloud and software platforms enable broadband service providers (&#8220;BSPs&#8221;) of all types and sizes to innovate and transform their businesses. The Company&#8217;s BSP customers are empowered to utilize real-time data and insights from Calix platforms to simplify their businesses and deliver experiences that excite their subscribers. These insights enable BSPs to grow their businesses through increased subscriber acquisition, loyalty and revenue, thereby increasing the value of their businesses and contributions to their communities.</span></div><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zMS9mcmFnOjg3ZTVlMTg5MjJjMzRhYzU5ZDk4ODVlZGU4ODBlODVmL3RleHRyZWdpb246ODdlNWUxODkyMmMzNGFjNTlkOTg4NWVkZTg4MGU4NWZfNDkxMA_dc0c9bb1-5dd8-43ca-b5c2-125643d1c352" escape="true"><div style="margin-top:12pt"><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</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying unaudited condensed consolidated financial statements, including the accounts of Calix, Inc. and its wholly-owned subsidiaries, have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (&#8220;SEC&#8221;) for interim reporting. As permitted under those rules, certain footnotes or other financial information that are normally required by U.S. generally accepted accounting principles (&#8220;GAAP&#8221;) can be condensed or omitted. In the opinion of management, the financial statements include all normal and recurring adjustments that are considered necessary for the fair presentation of the Company&#8217;s financial position and operating results. All intercompany balances and transactions have been eliminated in consolidation. The Condensed Consolidated Balance Sheet as of December&#160;31, 2020 has been derived from the audited financial statements at that date.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The results of the Company&#8217;s operations can vary during each quarter of the year. Therefore, the results and trends in these interim financial statements may not be the same as those for the full year or any future periods. The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited financial statements included in the Company&#8217;s Annual Report on Form 10-K for the year ended December&#160;31, 2020.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s fiscal year begins on January 1</span><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">st</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and ends on December 31</span><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">st</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Quarterly periods are based on a 4-4-5 calendar with the first quarter ending on the Saturday closest to March 31</span><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">st</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. As a result, the Company had five more days in the nine months ended October&#160;2, 2021 than for the nine months ended September&#160;26, 2020. The preparation of financial statements in conformity with GAAP for interim financial reporting requires management to make estimates and assumptions that affect the amounts reported in the condensed consolidated financial statements and accompanying notes. Actual results could differ from those estimates.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:CommitmentsAndContingenciesPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zMS9mcmFnOjg3ZTVlMTg5MjJjMzRhYzU5ZDk4ODVlZGU4ODBlODVmL3RleHRyZWdpb246ODdlNWUxODkyMmMzNGFjNTlkOTg4NWVkZTg4MGU4NWZfNDkwNA_46104343-414c-4ff9-a5d3-1fde901eeee6" escape="true"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Risks and Uncertainties</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is subject to risks and uncertainties as a result of the COVID-19 pandemic. The extent of the impact of the COVID-19 pandemic on the Company&#8217;s business is highly uncertain and difficult to predict, particularly as variants of the coronavirus continue to spread around the world. Although the availability of vaccines has increased, there are no assurances as to when the pandemic will be fully contained. In March 2020, the Company instituted office closures, travel restrictions and a work-from-anywhere policy for substantially all of its employees due to shelter-in-place mandates. In July 2021, the Company reopened its U.S. offices to fully-vaccinated employees who choose to work in the office and visitors and lifted certain travel restrictions. The spread of COVID-19 has had a prolonged impact on the Company&#8217;s supply chain operations due to restrictions, reduced capacity and limited availability from suppliers on whom the Company relies for sourcing components and materials and from third-party partners on whom the Company relies for manufacturing, warehousing and logistics services. Although demand for the Company&#8217;s products has been strong in the short-term as subscribers seek more bandwidth and better Wi-Fi, customers&#8217; purchasing decisions over the long-term may be impacted by the pandemic and its impact on the economy, which could in turn impact the Company&#8217;s revenue and results of operations. Furthermore, the Company&#8217;s supply chain continues to face constraints primarily due to challenges in sourcing components and materials for the Company&#8217;s products. The prolonged impact of COVID-19 could exacerbate these constraints or cause further supply chain disruptions. As of the issuance date of these condensed consolidated financial statements, the extent to which the COVID-19 pandemic may materially impact the Company&#8217;s financial condition, liquidity or results of operations remains uncertain.</span></div></ix:nonNumeric></ix:continuation><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">8</span></div></div></div><div id="i5d41e0a2263341439e48bd03d8d3586a_34"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2.  <ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:SignificantAccountingPoliciesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNC9mcmFnOmQzMTcwZjk4ZWZiYTQ2ZjM5NDk3ZjI3MmFjZTA3OTRmL3RleHRyZWdpb246ZDMxNzBmOThlZmJhNDZmMzk0OTdmMjcyYWNlMDc5NGZfNzc5_4fc32fbc-d883-4ebd-bec3-467dc5ecd83e" continuedAt="i7f0a2ccddccc4c36b05b261f19a0a01c" escape="true">Significant Accounting Policies</ix:nonNumeric></span></div><ix:continuation id="i7f0a2ccddccc4c36b05b261f19a0a01c"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s significant accounting policies are disclosed in its Annual Report on Form&#160;10-K for the year ended December&#160;31, 2020. The Company&#8217;s significant accounting policies did not change during the nine months ended October&#160;2, 2021.</span></div><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNC9mcmFnOmQzMTcwZjk4ZWZiYTQ2ZjM5NDk3ZjI3MmFjZTA3OTRmL3RleHRyZWdpb246ZDMxNzBmOThlZmJhNDZmMzk0OTdmMjcyYWNlMDc5NGZfNzg1_0b5cb97f-d50e-494a-8e66-716f9412639c" escape="true"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Newly Adopted Accounting Standard</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did not adopt any new accounting standards during the nine months ended October&#160;2, 2021 that were significant to the Company.</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:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Not Yet Adopted</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no additional accounting pronouncements or changes in accounting pronouncements during the nine months ended October&#160;2, 2021 as compared to the recent accounting pronouncements described in the Company&#8217;s Annual Report on Form 10-K for the year ended December&#160;31, 2020, that are significant or potentially significant to the Company.</span></div></ix:nonNumeric></ix:continuation><div id="i5d41e0a2263341439e48bd03d8d3586a_37"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">3.  <ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RleHRyZWdpb246NmE1ODNlMGY1OWI5NDU4OTk2NWM3NzhjZmI1MTA1ZTJfMTc1Mg_709b511b-bbc6-4c58-9507-e89e6452526c" continuedAt="i1bd2268a48dd48e2ae88335245340e7f" escape="true">Cash, Cash Equivalents and Marketable Securities</ix:nonNumeric></span></div><ix:continuation id="i1bd2268a48dd48e2ae88335245340e7f"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has invested its excess cash primarily in money market funds and highly liquid marketable securities such as commercial paper, corporate debt securities, municipal securities and U.S. government securities. The Company considers all investments with maturities of three months or less when purchased to be cash equivalents. Marketable securities represent highly liquid commercial paper, U.S. government agency securities, corporate debt securities, municipal securities and U.S. government securities with maturities greater than 90 days at date of purchase. Cash equivalents are stated at amounts that approximate fair value based on quoted market prices. Marketable securities are recorded at their fair values.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Marketable securities with maturities greater than one year are classified as current because management considers all marketable securities to be available for current operations.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s investments have been classified and accounted for as available-for-sale. Such investments are recorded at fair value and unrealized holding gains and losses are reported as a separate component of accumulated other comprehensive loss in the stockholders&#8217; equity until realized. Realized gains and losses on sales of marketable securities, if any, are determined on the specific identification method and are reclassified from accumulated other comprehensive loss to results of operations as other expense, net. Realized and unrealized gains and losses were de minimis for the period ended October&#160;2, 2021.</span></div><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RleHRyZWdpb246NmE1ODNlMGY1OWI5NDU4OTk2NWM3NzhjZmI1MTA1ZTJfMTc2Mw_4c50d7cd-1912-400a-8748-b59af482fee3" escape="true"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash, cash equivalents and marketable securities consisted of the following (in thousands):</span></div><div style="margin-top:5pt;text-indent:22.5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"></td><td style="width:73.172%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.484%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.079%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.484%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.081%"></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="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%">October 2,<br/>2021</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%">December 31,<br/>2020</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 and cash equivalents:</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></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%">Cash</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="id4e961fca3f04687ba4e2836f4d4948a_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMi0yLTEtMS01NDUx_d97f825e-d8ea-4022-8bac-2f8d2224b1bb">30,609</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="ie74c0b9cf5804c67a6b7086a121340cc_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMi00LTEtMS01NDUx_4bb6c685-00b7-4eb7-9bb4-b9da1ff4cbd1">30,745</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%">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="i266bc4dc70814210b46ab80444bb1e11_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMy0yLTEtMS01NDUx_3aaccc8e-7268-4538-8df2-43b18a45cf0d">23,449</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="i95325bb22e5f4f89aacd1ab876ea1bbe_I20201231" decimals="-3" format="ixt:fixed-zero" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMy00LTEtMS01NDUx_d362aa42-11a3-4b4d-a4dc-90191ca3aedb">&#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 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:#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="ie13138ffb8b84b6d89cea39464c1fde4_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfNC0yLTEtMS01NDUx_9a1bb641-0075-4037-8710-c6f22c78bb59">6,007</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="id43610d00b34463cbe1a36fb1e27aa0b_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfNC00LTEtMS01NDUx_586d010b-0ee4-4240-9c53-d78336f57a71">10,068</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%">Municipal 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="iee143e313480466193c3be37bbb3ded6_I20211002" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfNS0yLTEtMS01NDUx_0f9d7f06-339d-4091-a97b-053cf93df970">150</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="ic0ba35e85bd345c982a5e5d6769f241b_I20201231" decimals="-3" format="ixt:fixed-zero" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfNS00LTEtMS01NDUx_d027b3fd-3c75-4b02-97a6-d388a66d2814">&#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 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. government 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="idf991a39aa4c472182f5ebc48298c319_I20211002" decimals="-3" format="ixt:fixed-zero" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfNi0yLTEtMS01NDUx_4516d048-40c0-4d91-9e79-aea68ee3c29d">&#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="ie5dbf97b5b8947cb878f959c4f31c81b_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfNi00LTEtMS01NDUx_710af24f-640c-4121-bf62-13f1a106e9df">39,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 25.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 cash and cash equivalents</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfNy0yLTEtMS01NDUx_a66356fb-df6e-4861-82f8-934e3cf70987">60,215</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfNy00LTEtMS01NDUx_39fb8eea-fdd3-41cc-88f8-bdcae1c200cc">80,807</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%">Marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #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:1pt solid #000;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%">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="i8f724e4e6df9420499d41ba2f8a85556_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfOS0yLTEtMS01NDUx_aced24d2-4cc8-44f1-8f6f-84d4331fff97">117,984</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="i2c5666534f2e4a32a5d7fb0d37dcf641_I20201231" decimals="-3" format="ixt:fixed-zero" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfOS00LTEtMS01NDUx_5024783e-73d3-4a15-b2bb-44d97349f8c9">&#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 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. government 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="i1612af942ca746cab22b293b4fb505c7_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTAtMi0xLTEtMTQ1MDk_a20a448f-b171-43d2-aaf7-c4212ba4eba2">3,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="ie9b29a0058664caaa92594b56344831b_I20201231" decimals="-3" format="ixt:fixed-zero" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTAtNC0xLTEtMTQ1MDk_13595c6d-b1fb-4c21-9b55-9cf19dfaf6e5">&#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 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 debt 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="i037b33631de04352bdae3d770b4d0303_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTEtMi0xLTEtMTQ1MDk_56cfc0b1-373b-44bc-aaee-167be6fe2986">3,772</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="i68321b9592d2400db860461d32169447_I20201231" decimals="-3" format="ixt:fixed-zero" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTEtNC0xLTEtMTYxNjQ_0a145b9f-634b-49af-b75d-dc654833978d">&#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 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. government 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="i937479d3bf9c413cbed828008b702cbe_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTAtMi0xLTEtNTQ1MQ_7f8cba6a-1823-4136-869d-0bfee24e268d">1,520</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="i68c60b73a7764615991d7161320b22ee_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTAtNC0xLTEtNTQ1MQ_e624a08f-699b-4683-96c4-49979d97cf91">52,982</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%">Municipal 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="i1b22cd11ca08494c97af262450969030_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTEtMi0xLTEtNTQ1MQ_d8bb8d44-97bb-4ed2-b27f-619c9c0e1d0c">1,325</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="icef0371f5216436ca6221913f71e89ac_I20201231" decimals="-3" format="ixt:fixed-zero" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTEtNC0xLTEtNTQ1MQ_6a448a8e-0ab2-424c-9ac2-95370a53e3b8">&#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 25.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 marketable securities</span></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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTItMi0xLTEtNTQ1MQ_1d9836b5-a728-418c-8904-7c8a1829a8fe">128,492</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTItNC0xLTEtNTQ1MQ_41a12633-0724-4d0b-9bbc-629714ee3b44">52,982</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: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 #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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="calx:CashCashEquivalentsAndMarketableSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTMtMi0xLTEtNTQ1MQ_9c9c6943-4cfc-40fb-b83f-c2553f96d9ba">188,707</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="calx:CashCashEquivalentsAndMarketableSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTMtNC0xLTEtNTQ1MQ_f1dcbf9c-cf15-42d6-bc3c-f6a84fd8084a">133,789</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><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying amounts of the Company&#8217;s money market funds approximate their fair values due to their nature, duration and short maturities.</span></div></ix:continuation><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">9</span></div></div></div><div id="i5d41e0a2263341439e48bd03d8d3586a_40"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">4. <ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:FairValueDisclosuresTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RleHRyZWdpb246ZTUzMGVmZWRkMjMwNDlkMWJkOTFlMzhhOTFkZjQ4MzhfMTYwNQ_cefa6f22-4c40-46ee-aebe-c7ca708d8f4e" continuedAt="i5ad065a2c5174e37b1ca82521558ad99" escape="true">Fair Value Measurements</ix:nonNumeric></span></div><ix:continuation id="i5ad065a2c5174e37b1ca82521558ad99"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company measures its cash equivalents and marketable securities at fair value on a recurring basis. Fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. The Company utilizes the following three-tier value hierarchy, which prioritizes the inputs used in measuring fair value:</span></div><div style="margin-top:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 1 &#8211; Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets.</span></div><div style="margin-top:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 2 &#8211; Observable inputs other than quoted prices included in Level 1 for similar instruments in active markets, quoted prices for identical or similar instruments in markets that are not active, and model-driven valuations in which all significant inputs and significant value drivers are observable in active markets.</span></div><div style="margin-top:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 3 &#8211; Unobservable inputs to the valuation derived from fair valuation techniques in which one or more significant inputs or significant value drivers are unobservable. The fair value hierarchy also requires the Company to maximize the use of observable inputs, when available, and to minimize the use of unobservable inputs when determining inputs and determining fair value.</span></div><div><span><br/></span></div><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RleHRyZWdpb246ZTUzMGVmZWRkMjMwNDlkMWJkOTFlMzhhOTFkZjQ4MzhfMTYwNg_9ea8abdb-7670-4a15-8bbf-60891e21479c" escape="true"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables sets forth the Company&#8217;s financial assets measured at fair value on a recurring basis based on the three-tier fair value hierarchy (in thousands): </span></div><div style="margin-top:5pt"><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: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.575%"></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%">As of October 2, 2021</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%">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:8pt;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:8pt;font-weight:700;line-height:100%">Total</span></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 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="i3b83baf80973450cbc0fffafca8c995e_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfMS0xLTEtMS01NDUx_981c7605-f220-4cb8-9a89-5ba21a31f9bf">6,007</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="i394f7e868e564ddaa3bb7656154f9971_I20211002" decimals="-3" format="ixt:fixed-zero" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfMS0zLTEtMS01NDUx_67deb762-b04b-42b5-88b6-4c237f5d1e5c">&#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="i660370d1477c47d9ae4e210061e04d2f_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfMS01LTEtMS01NDUx_a7956d6c-bcd4-4d06-9809-95e5dbadf5e4">6,007</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 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. government 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="i2cb2af827c0d4e8fa13d50d8b32ab69c_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfMi0xLTEtMS0xNjIxMA_1a91d3ae-cf24-4bb8-9b61-bdf84d832008">1,520</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="ia1148926c25042a5951f2b8420c9e880_I20211002" decimals="-3" format="ixt:fixed-zero" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfMi0zLTEtMS0xNjIxMA_50615a09-f7a5-4f0d-8701-3c206d1eaf7a">&#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="id58cbf088e8f43cd9c8ca2c32c054028_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfMi01LTEtMS0xNjIxMA_df3358ee-a6c9-410b-aa06-87e8c21bc8a5">1,520</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%">Commercial paper</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="ib42bc09e694143e29593b2eac05391fc_I20211002" decimals="-3" format="ixt:fixed-zero" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfMi0xLTEtMS01NDUx_2e883606-647d-48e2-9303-fa00b22cf64e">&#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="i6fb296c1504046b7b902c9c4498b8373_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfMi0zLTEtMS01NDUx_65b188a7-309e-41c2-a7ca-e3fc56e667ca">141,433</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="i870ca6f514b742d9890e0228064e2de0_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfMi01LTEtMS01NDUx_a7dac1c4-c5e4-4d51-b3d6-645484a3f292">141,433</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. government agency 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="i723b9a3d33ce4467a86c84ead7b41c2a_I20211002" decimals="-3" format="ixt:fixed-zero" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNC0xLTEtMS0xNjIxMg_ef3b212a-f02b-406e-ad3d-ca0327bb0180">&#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="i9f73129217a6431fa2b0c268cf962e2c_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNC0zLTEtMS0xNjIxMg_8e9bfcb5-119c-43f0-9eb3-cff90e5e7e10">3,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="ic67299b48d7d437190adc5221b3dea72_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNC01LTEtMS0xNjIxMg_8f3738eb-e00f-4822-b078-839bdeafff81">3,891</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 debt 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="i94f3883f67df4b5eb5c28bcf1d98d833_I20211002" decimals="-3" format="ixt:fixed-zero" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNS0xLTEtMS0xNjIxMg_0299be67-ecf1-431b-b42a-34ff530ff5a7">&#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="if1acc8fad88d4bba96bdd150fad70a81_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNS0zLTEtMS0xNjIxMg_2429d0e0-03f7-4d8b-8c7e-a862f0c2551b">3,772</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="i9b2be8a325c644cf8f7beb32f0c38343_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNS01LTEtMS0xNjIxMg_58ba6f55-206a-4102-b196-c506deeaf85f">3,772</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%">Municipal 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="i3fe16082e3ed46f1ab37172262968b23_I20211002" decimals="-3" format="ixt:fixed-zero" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNC0xLTEtMS01NDUx_597c4124-c464-47c5-b3e2-ccee942eca85">&#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="i443e0055c5754d7bbe2efe5deeb1d796_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNC0zLTEtMS01NDUx_57e0848b-1b19-4e29-a957-5545161ba767">1,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="i206072936674476292ca7a8b8c6fcc62_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNC01LTEtMS01NDUx_911e0d54-7405-4a69-ae81-17f8fe824c76">1,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="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="i201027b65e3849c5acbff4581e5c30d2_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNS0xLTEtMS01NDUx_a1da7da1-fac9-4ac8-8471-a06e71af08c0">7,527</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="ia7b33a7632984497a0b204172aa04efa_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNS0zLTEtMS01NDUx_988b7afa-341f-4436-bf00-404f98c6629c">150,571</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="ib2ac7f1f33ac4acd8cc838e0542e5b52_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNS01LTEtMS01NDUx_c269c3e7-3c0b-4fad-802f-9b7cea8b546d">158,098</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><div style="margin-top:5pt"><span><br/></span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:76.608%"><tr><td style="width:1.0%"></td><td style="width:84.968%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.832%"></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:8pt;font-weight:700;line-height:100%">As of December 31, 2020</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%">Level 1</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 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 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="i764133c02d0440188258ec3b4eaf8e24_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjEzM2VhY2RiYzQ1ODRmNjBiNmM0MDAwZTA1YjQ2MWRlL3RhYmxlcmFuZ2U6MTMzZWFjZGJjNDU4NGY2MGI2YzQwMDBlMDViNDYxZGVfMS0xLTEtMS01NDUx_239cc36f-2da7-45c2-a3d6-e91bf63dd9ad">10,068</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="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 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. government 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="i9617cb42498f490ca6363ddb911df87b_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjEzM2VhY2RiYzQ1ODRmNjBiNmM0MDAwZTA1YjQ2MWRlL3RhYmxlcmFuZ2U6MTMzZWFjZGJjNDU4NGY2MGI2YzQwMDBlMDViNDYxZGVfMi0xLTEtMS01NDUx_45001b0c-a723-48b6-a6ba-97fdee058c03">92,976</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="ib8edd66a30aa4bf6beaaf85b8c2878a2_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjEzM2VhY2RiYzQ1ODRmNjBiNmM0MDAwZTA1YjQ2MWRlL3RhYmxlcmFuZ2U6MTMzZWFjZGJjNDU4NGY2MGI2YzQwMDBlMDViNDYxZGVfMy0xLTEtMS01NDUx_e270e03e-685a-4e3b-8138-82eb3b904080">103,044</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></ix:continuation><div id="i5d41e0a2263341439e48bd03d8d3586a_43"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">5.  <ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:SupplementalBalanceSheetDisclosuresTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMzEyOA_1cd4fe29-ceda-4d4d-bee3-e3e9aabfcf51" continuedAt="i2f27b853322f43e788ccb7142641faf2" escape="true">Balance Sheet Details</ix:nonNumeric></span></div><ix:continuation id="i2f27b853322f43e788ccb7142641faf2" continuedAt="i7b760d85904b403db46f1e9c4693800a"><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMzA5Mw_dd688c91-4fef-4715-8794-b23e53584d8e" escape="true"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable, net consisted of the following (in thousands):</span></div><div style="margin-top:5pt;text-indent:22.5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"></td><td style="width:73.172%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.484%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.079%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.484%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.081%"></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="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%">October 2,<br/>2021</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%">December 31,<br/>2020</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%">Accounts receivable</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmRmZTFkY2FjZjVlNzQxMmY5YTgwNzEwNDE2OGZiYmZhL3RhYmxlcmFuZ2U6ZGZlMWRjYWNmNWU3NDEyZjlhODA3MTA0MTY4ZmJiZmFfMS0yLTEtMS01NDUx_c145339c-0fb7-438f-99ac-7e88850f5936">92,703</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmRmZTFkY2FjZjVlNzQxMmY5YTgwNzEwNDE2OGZiYmZhL3RhYmxlcmFuZ2U6ZGZlMWRjYWNmNWU3NDEyZjlhODA3MTA0MTY4ZmJiZmFfMS00LTEtMS01NDUx_4a940d68-9224-49f3-9cd0-f82c6598695f">70,824</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%">Allowance for doubtful accounts</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmRmZTFkY2FjZjVlNzQxMmY5YTgwNzEwNDE2OGZiYmZhL3RhYmxlcmFuZ2U6ZGZlMWRjYWNmNWU3NDEyZjlhODA3MTA0MTY4ZmJiZmFfMi0yLTEtMS01NDUx_5aa9acae-8be1-428e-872b-909eb6d11156">774</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmRmZTFkY2FjZjVlNzQxMmY5YTgwNzEwNDE2OGZiYmZhL3RhYmxlcmFuZ2U6ZGZlMWRjYWNmNWU3NDEyZjlhODA3MTA0MTY4ZmJiZmFfMi00LTEtMS01NDUx_d9635658-2541-49a1-ac8c-d5fb0688cbcc">1,405</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: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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmRmZTFkY2FjZjVlNzQxMmY5YTgwNzEwNDE2OGZiYmZhL3RhYmxlcmFuZ2U6ZGZlMWRjYWNmNWU3NDEyZjlhODA3MTA0MTY4ZmJiZmFfMy0yLTEtMS01NDUx_7ccc825a-4118-4d0c-9dde-50dc0f0a32a7">91,929</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmRmZTFkY2FjZjVlNzQxMmY5YTgwNzEwNDE2OGZiYmZhL3RhYmxlcmFuZ2U6ZGZlMWRjYWNmNWU3NDEyZjlhODA3MTA0MTY4ZmJiZmFfMy00LTEtMS01NDUx_2aea98d1-66c5-4f78-922a-f5bcd5c7e8d9">69,419</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:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMzEyMA_5c2795e8-5553-4635-b4df-04657935a9d3" escape="true"><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory consisted of the following (in thousands):</span></div><div style="margin-top:5pt;text-indent:22.5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"></td><td style="width:73.172%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.484%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.079%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.484%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.081%"></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="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%">October 2,<br/>2021</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%">December 31,<br/>2020</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 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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" name="us-gaap:InventoryRawMaterialsNetOfReserves" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjgwMDM5YjQzMzVhNzRiOTE5NTBjMTQwZTNlZjk0NTg4L3RhYmxlcmFuZ2U6ODAwMzliNDMzNWE3NGI5MTk1MGMxNDBlM2VmOTQ1ODhfMS0yLTEtMS01NDUx_a64e750f-5249-403d-8410-bd293d86ea8a">169</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" name="us-gaap:InventoryRawMaterialsNetOfReserves" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjgwMDM5YjQzMzVhNzRiOTE5NTBjMTQwZTNlZjk0NTg4L3RhYmxlcmFuZ2U6ODAwMzliNDMzNWE3NGI5MTk1MGMxNDBlM2VmOTQ1ODhfMS00LTEtMS01NDUx_5fa7b233-5504-478d-a0d5-520d7c96bdba">34</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%">Finished goods</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryFinishedGoodsNetOfReserves" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjgwMDM5YjQzMzVhNzRiOTE5NTBjMTQwZTNlZjk0NTg4L3RhYmxlcmFuZ2U6ODAwMzliNDMzNWE3NGI5MTk1MGMxNDBlM2VmOTQ1ODhfMi0yLTEtMS01NDUx_722e7a63-f8e7-4461-9107-bcafd51abfaa">74,997</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryFinishedGoodsNetOfReserves" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjgwMDM5YjQzMzVhNzRiOTE5NTBjMTQwZTNlZjk0NTg4L3RhYmxlcmFuZ2U6ODAwMzliNDMzNWE3NGI5MTk1MGMxNDBlM2VmOTQ1ODhfMi00LTEtMS01NDUx_e9356fdc-33e9-48cc-97b1-03531414c143">52,234</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjgwMDM5YjQzMzVhNzRiOTE5NTBjMTQwZTNlZjk0NTg4L3RhYmxlcmFuZ2U6ODAwMzliNDMzNWE3NGI5MTk1MGMxNDBlM2VmOTQ1ODhfMy0yLTEtMS01NDUx_108656da-4f0a-4d5a-b55f-9d5442326c4e">75,166</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjgwMDM5YjQzMzVhNzRiOTE5NTBjMTQwZTNlZjk0NTg4L3RhYmxlcmFuZ2U6ODAwMzliNDMzNWE3NGI5MTk1MGMxNDBlM2VmOTQ1ODhfMy00LTEtMS01NDUx_8091e5bc-61ca-4f3d-ad35-03b9f06aa866">52,268</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><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">10</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><ix:continuation id="i7b760d85904b403db46f1e9c4693800a" continuedAt="ib6ca9530900c422482659e34d70768d4"><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMzEyNg_b16d8872-6eb2-4853-9034-e59dedbd1585" escape="true"><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consisted of the following (in thousands):</span></div><div style="margin-top:5pt;text-indent:22.5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"></td><td style="width:73.172%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.484%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.079%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.484%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.081%"></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="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%">October 2,<br/>2021</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%">December 31,<br/>2020</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%">Test equipment</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="ie64184d8da4741ac89d97a8b2248f50c_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfMS0yLTEtMS01NDUx_e19fccde-294c-4052-b968-7fd9a8ccf4a2">38,876</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="ib48cd01fe71541729a887e49debdb7e4_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfMS00LTEtMS01NDUx_1ffe71ca-78ab-4ddb-86bf-199a42ca0f55">37,670</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%">Software</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="i824b1699007843c7a4b8120623b581fc_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfMi0yLTEtMS01NDUx_576277be-48dc-461f-addf-23540f030285">14,440</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="ia5b73b59f9344c7ba678391a99b117e7_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfMi00LTEtMS01NDUx_55c25900-e774-487e-a7df-9ce62a696f44">16,093</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%">Computer equipment</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="if7a966696c63400b8ea9887b3678cec4_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfMy0yLTEtMS01NDUx_52efee08-b7a3-4050-8231-78f463db3152">10,594</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="ie98412dd96314b14bbde364e09cdbabb_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfMy00LTEtMS01NDUx_bb68e952-a8ac-4caa-b337-d59de5b3bebb">9,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;text-align: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="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="ic011dad94be943aaa99b45d8862d3a2f_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfNC0yLTEtMS01NDUx_cf537a1d-3572-4256-9f72-26e45d6a002d">1,733</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="i86e321774a554598ae0fa13d7dfd2184_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfNC00LTEtMS01NDUx_69747501-e0dd-4503-a7da-f01f720e8a15">2,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;text-align: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="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="idc424497c33d4090a7ce2d2a356c3bc3_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfNS0yLTEtMS01NDUx_1ff7670c-e31c-4bac-8dbd-360e19da1c87">1,189</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="i3a25fc33ed4348d3a66fe7ec34ebcaa0_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfNS00LTEtMS01NDUx_49bf4aae-1d26-413c-ac78-68adcd877dee">1,345</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 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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfNi0yLTEtMS01NDUx_6a6fe400-bdf7-4cfb-9d3f-b63d6e7ea41b">66,832</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfNi00LTEtMS01NDUx_0e954430-209f-4176-896d-e6065fe2f986">66,239</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%">Accumulated depreciation and amortization</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfNy0yLTEtMS01NDUx_050ec381-2435-447f-8267-58045039eb29">45,872</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfNy00LTEtMS01NDUx_4c7b2636-8c8c-4f5c-872c-c4998a4669bf">45,858</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:0 1pt"></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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfOC0yLTEtMS01NDUx_a8cd2a4c-4506-4515-a8fb-2c77ca9f22f5">20,960</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfOC00LTEtMS01NDUx_18279c19-cb1e-4f82-9573-1d9643069996">20,381</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:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMzA3NQ_17c29c98-e92f-4948-aefc-ab3d9adfb4be" escape="true"><div style="margin-top:1pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other long-term assets consisted of the following (in thousands):        </span></div><div style="margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"></td><td style="width:73.172%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.484%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.079%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.484%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.081%"></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="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%">October 2,<br/>2021</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%">December 31,<br/>2020</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%">Intangible asset</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjMxYTEzMDI0NDJmOTRkNTM5NmFhMzIyODIwYzNhYmZmL3RhYmxlcmFuZ2U6MzFhMTMwMjQ0MmY5NGQ1Mzk2YWEzMjI4MjBjM2FiZmZfMS0yLTEtMS01NDUx_405d2951-68e7-4c57-895d-111818558204">7,543</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjMxYTEzMDI0NDJmOTRkNTM5NmFhMzIyODIwYzNhYmZmL3RhYmxlcmFuZ2U6MzFhMTMwMjQ0MmY5NGQ1Mzk2YWEzMjI4MjBjM2FiZmZfMS00LTEtMS01NDUx_3b3842da-95e6-4722-8c41-dbbb843a1b60">9,517</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%">Other long-term assets</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsMiscellaneousNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjMxYTEzMDI0NDJmOTRkNTM5NmFhMzIyODIwYzNhYmZmL3RhYmxlcmFuZ2U6MzFhMTMwMjQ0MmY5NGQ1Mzk2YWEzMjI4MjBjM2FiZmZfMi0yLTEtMS01NDUx_30055578-3b82-4720-b4b8-06599a86487f">3,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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsMiscellaneousNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjMxYTEzMDI0NDJmOTRkNTM5NmFhMzIyODIwYzNhYmZmL3RhYmxlcmFuZ2U6MzFhMTMwMjQ0MmY5NGQ1Mzk2YWEzMjI4MjBjM2FiZmZfMi00LTEtMS01NDUx_5573fd1d-35e9-4b7d-83ac-2b2574aabca0">2,648</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjMxYTEzMDI0NDJmOTRkNTM5NmFhMzIyODIwYzNhYmZmL3RhYmxlcmFuZ2U6MzFhMTMwMjQ0MmY5NGQ1Mzk2YWEzMjI4MjBjM2FiZmZfMy0yLTEtMS01NDUx_6a5b9f61-3ba0-4f44-b3bc-e447ec07d223">11,014</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjMxYTEzMDI0NDJmOTRkNTM5NmFhMzIyODIwYzNhYmZmL3RhYmxlcmFuZ2U6MzFhMTMwMjQ0MmY5NGQ1Mzk2YWEzMjI4MjBjM2FiZmZfMy00LTEtMS01NDUx_b4a093b1-f898-47bb-95da-96611ac60ffc">12,165</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><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Intangible Asset Acquisition</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2018, and as amended in December 2020, the Company entered into an agreement with a vendor to develop a certain software product and related enhancements pursuant to which the Company is obligated to make revenue-share payments under the program, subject to aggregate fixed revenue-share payments of $<ix:nonFraction unitRef="usd" contextRef="iba9044f04b6e454f8355aac53a4440ff_I20180331" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RoyaltyGuaranteesCommitmentsAmount" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfNjQx_9f1e5e53-7378-46f9-8247-46345d6f45ce">15.8</ix:nonFraction>&#160;million. The payments are based on a revenue-share rate applied to revenue from the developed-product and the corresponding hardware sales through March 2024. If the minimum revenue-share payments are not achieved by the end of that period, a true-up payment will be due. The Company had its first sale in August 2019, and as a result, the Company capitalized an intangible asset with a value of $<ix:nonFraction unitRef="usd" contextRef="if83f9c370cd84c8ca048664140a5f25a_I20190928" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMTAzMg_50c50a59-eca6-47f9-a621-8b21ca6bd670">13.2</ix:nonFraction>&#160;million in the third quarter of 2019 and also recognized a liability of $<ix:nonFraction unitRef="usd" contextRef="if83f9c370cd84c8ca048664140a5f25a_I20190928" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:OtherLiabilities" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMTA5OQ_a6aed9c1-8469-4a35-b56a-0becfb57e6ee">13.2</ix:nonFraction>&#160;million (a non-cash investing activity). The intangible asset has an estimated <ix:nonNumeric contextRef="i16d7bebbeed74c3982a1db4aaebc555b_D20190630-20190928" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMzA5OA_6579a4d1-f8e8-43f7-985b-fedc8f8dd962">five-year</ix:nonNumeric> useful life and is being amortized using the greater of the ratio of current gross revenue for the products to the total of current and anticipated future gross revenue for the products or the straight-line method. As of October 2, 2021, the liability, including accrued interest, was $<ix:nonFraction unitRef="usd" contextRef="i80336faa7f4e4662933379d5a174bc71_I20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:OtherLiabilities" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMTQ2Mw_34861288-9ea8-4037-a307-999a7ca8552e">13.6</ix:nonFraction>&#160;million of which $<ix:nonFraction unitRef="usd" contextRef="i80336faa7f4e4662933379d5a174bc71_I20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMTQ3NQ_d6a0f3ed-c184-4eeb-a15d-0091761ae9df">4.4</ix:nonFraction>&#160;million is included in accrued liabilities and $<ix:nonFraction unitRef="usd" contextRef="i80336faa7f4e4662933379d5a174bc71_I20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMTUxNw_15ac6f72-6809-4b9b-96ae-9048903b27b2">9.2</ix:nonFraction>&#160;million in other long-term liabilities in the accompanying Condensed Consolidated Balance Sheet. As of December 31, 2020, the liability, including accrued interest, was $<ix:nonFraction unitRef="usd" contextRef="i1f6d3a747de64c27a25cd4680f47b0fa_I20201231" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:OtherLiabilities" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMTY4MQ_35829e4a-c87c-4678-9f5c-ada74271655c">13.9</ix:nonFraction>&#160;million of which $<ix:nonFraction unitRef="usd" contextRef="i1f6d3a747de64c27a25cd4680f47b0fa_I20201231" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMTY5Mw_fd2fb60d-bd6b-4a4e-8f95-6b4fec5019b3">2.9</ix:nonFraction>&#160;million was included in accrued liabilities and $<ix:nonFraction unitRef="usd" contextRef="i1f6d3a747de64c27a25cd4680f47b0fa_I20201231" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMTczNg_cfe0630c-1260-4cfd-821e-b95f18c7364f">11.0</ix:nonFraction>&#160;million in other long-term liabilities.</span></div><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMzA5NQ_ee588700-48f5-4210-8ed1-b1f79e1c0d4f" escape="true"><div style="margin-top:12pt"><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="margin-top:5pt;text-indent:22.5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"></td><td style="width:73.172%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.484%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.079%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.484%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.081%"></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="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%">October 2,<br/>2021</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%">December 31,<br/>2020</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%">Compensation and related benefits</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMS0yLTEtMS01NDUx_cf11f55e-fa56-46e3-b0e6-14d74e746ff9">14,261</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMS00LTEtMS01NDUx_16a63c4e-6346-42cf-9514-886a1deb5164">23,740</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%">Warranty and retrofit</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProductWarrantyAccrualClassifiedCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMi0yLTEtMS01NDUx_af435693-c9ff-4950-a473-a4e2673a2426">10,126</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProductWarrantyAccrualClassifiedCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMi00LTEtMS01NDUx_9128eba5-fa61-495d-bcd7-a0cfef23d525">9,208</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%">Component inventory held by suppliers</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMy0yLTEtMS01NDUx_1087cbc2-6030-4671-8512-038ce208d688">4,606</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMy00LTEtMS01NDUx_919a7daa-330b-4de6-98ff-e5d54b9d4605">3,992</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%">Professional and consulting fees</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccruedProfessionalFeesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfNC0yLTEtMS01NDUx_a29aa493-8b1e-4c5d-a8d6-0d289a0b4670">4,595</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccruedProfessionalFeesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfNC00LTEtMS01NDUx_7c468c83-685f-4410-a7bf-b9225011a090">4,497</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%">Taxes payable</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="calx:TaxesPayableCurrentExcludingAccruedIncomeTaxes" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfNS0yLTEtMS01NDUx_075635ba-e9f0-43e3-941c-6057f2b8f6f8">4,482</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="calx:TaxesPayableCurrentExcludingAccruedIncomeTaxes" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfNS00LTEtMS01NDUx_4f90d762-745c-410d-a8c2-86e23ab105d9">3,476</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%">Current portion of revenue share obligations</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="calx:RevenueShareObligationCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfNi0yLTEtMS01NDUx_9c0bed92-5b96-4afd-b8d9-6ea8eff7a5f0">4,397</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="calx:RevenueShareObligationCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfNi00LTEtMS01NDUx_01e2e940-14bc-483f-bfa5-e2f6117f1084">2,925</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%">Customer advances or rebates</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="calx:AccruedCustomerRebates" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfNy0yLTEtMS01NDUx_f4b38863-9d0b-4066-a0d3-4e00f508572d">4,358</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="calx:AccruedCustomerRebates" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfNy00LTEtMS01NDUx_3030a58b-c9a3-4020-83c4-9459ee54d58f">8,374</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%">Operating leases</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfOC0yLTEtMS01NDUx_6dd2ef4e-9902-489b-8494-c5e2314bf7ab">3,151</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfOC00LTEtMS01NDUx_34f82f6b-6103-49a8-ade2-fbbb05c3f62e">2,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;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Freight</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="calx:AccruedFreight" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfOS0yLTEtMS01NDUx_b643498e-708a-4862-8b00-65fd07b2fcbc">2,587</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="calx:AccruedFreight" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfOS00LTEtMS01NDUx_f5782fb0-a1c7-4bd9-ac14-0794e709e418">1,955</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%">Product returns</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="calx:ProductReturnReserveCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMTAtMi0xLTEtNTQ1MQ_1586109c-9a68-4614-a20f-ea69017098ca">1,749</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="calx:ProductReturnReserveCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMTAtNC0xLTEtNTQ1MQ_c2981d94-2183-4bb8-a7eb-93e958be7e1e">1,888</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%">Operations</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RestructuringReserveCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMTEtMi0xLTEtNTQ1MQ_f247a637-7434-40c9-a2bc-8f3cb640aa08">1,286</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" name="us-gaap:RestructuringReserveCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMTEtNC0xLTEtNTQ1MQ_baa05b4b-9c29-45f5-80ff-e3edb9e12589">950</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</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAccruedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMTItMi0xLTEtNTQ1MQ_5dd04124-3143-43ee-94d3-83944ec6819b">5,846</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAccruedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMTItNC0xLTEtNTQ1MQ_e33de2b4-b067-4d4f-8c2e-27f7260c8995">4,737</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMTMtMi0xLTEtNTQ1MQ_eb09ef37-1b4b-4d08-bb84-4d20fdf51f08">61,444</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMTMtNC0xLTEtNTQ1MQ_af168eae-4fec-449f-bcad-fe7372ef0fa8">68,736</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="height:45pt;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:9pt;font-weight:400;line-height:120%">11</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><ix:continuation id="ib6ca9530900c422482659e34d70768d4"><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMzA3Ng_ec172ae1-daba-42a5-a12d-2bea23673906" escape="true"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in the Company&#8217;s accrued warranty and retrofit liability were as follows (in thousands):</span></div><div style="margin-top:5pt"><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:41.590%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></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:1.408%"></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:1.408%"></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:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.621%"></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="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:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><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:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></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:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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%">September 26,<br/>2020</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%">October 2,<br/>2021</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%">September 26,<br/>2020</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%">Balance at beginning of period</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="ibdff310060b846bfb5608e4f0b9de9d5_I20210703" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProductWarrantyAccrual" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfMi0yLTEtMS01NDUx_8d920bff-c0cc-4bf6-9377-be6a24b3c550">9,911</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="if85299be32f348a59681f41a2b3c4943_I20200627" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProductWarrantyAccrual" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfMi00LTEtMS01NDUx_5db9b91a-24db-4b90-a1c3-36a14c067025">7,732</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProductWarrantyAccrual" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfMi02LTEtMS01NDUx_5b673389-6bc8-49f8-a518-52a64e8a2f2f">9,208</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="i01677da6d89f44ccbc9a41104c439270_I20191231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProductWarrantyAccrual" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfMi04LTEtMS01NDUx_a62ab24d-1a2c-4807-acd6-0e5f89fc4110">7,294</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%">Provision for warranty and retrofit charged to cost of revenue</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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfMy0yLTEtMS01NDUx_f623f6cc-02d3-4155-ba5a-9274d1c07d6f">769</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfMy00LTEtMS01NDUx_55ab6126-fd1c-46e8-971a-edcb9edcdd3d">1,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%"><ix:nonFraction unitRef="usd" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfMy02LTEtMS01NDUx_f5c3a243-a9c5-46ee-977a-49337584eaed">2,974</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfMy04LTEtMS01NDUx_41c091e2-8b32-4f2c-b744-774e9b4fcff4">4,341</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%">Utilization of reserve</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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" name="us-gaap:ProductWarrantyAccrualPayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfNC0yLTEtMS01NDUx_2038d20f-a713-4812-8532-b8f886fe1eac">554</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" name="us-gaap:ProductWarrantyAccrualPayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfNC00LTEtMS01NDUx_fb4044ac-17b4-4691-a228-1f6cad5e61c4">892</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProductWarrantyAccrualPayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfNC02LTEtMS01NDUx_4f148434-a710-4342-af2a-ad62106069b5">2,056</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProductWarrantyAccrualPayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfNC04LTEtMS01NDUx_86a7a391-7a57-4981-973d-218437bdd545">3,079</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%">Balance at end of period</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProductWarrantyAccrual" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfNi0yLTEtMS01NDUx_08ad95ae-11db-403b-91e3-58c9532229f7">10,126</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="i5b5927dd8cce44bc93f27feb4b7c149e_I20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProductWarrantyAccrual" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfNi00LTEtMS01NDUx_0fb6eb0f-47db-4ceb-b8b3-72773c830f40">8,556</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProductWarrantyAccrual" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfNi02LTEtMS01NDUx_ee0f4334-6d1f-47c3-a556-fe00a330f9d7">10,126</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="i5b5927dd8cce44bc93f27feb4b7c149e_I20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProductWarrantyAccrual" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfNi04LTEtMS01NDUx_1cf71f64-1b2e-4bf3-be4d-00249976cacc">8,556</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></tr></table></div></ix:nonNumeric><div style="text-indent:22.5pt"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Accrued Restructuring Charges</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Responding to trends caused by the COVID-19 pandemic, the Company initiated a restructuring plan in June 2020 to accelerate the Company&#8217;s All Platform future and to align with a work-from-anywhere culture. The Company incurred restructuring charges of approximately $<ix:nonFraction unitRef="usd" contextRef="i327009b331d4449bb2a0296d9ff61507_D20200101-20201231" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RestructuringCharges" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMjIzMg_896051c9-2136-42a3-9eb2-a26dd9cb329c">6.3</ix:nonFraction>&#160;million, consisting of facilities-related charges and severance and other termination-related benefits during 2020.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As part of the Company&#8217;s shift to a work-from-anywhere culture, many of the Company&#8217;s employees elected to work remotely on a permanent basis.  In light of this change, the Company evaluated its space needs and determined that a portion of the Company&#8217;s leased office spaces in Richardson, Texas and San Jose, California would no longer be utilized. As a result, the right-of-use assets related to these leases were written down, resulting in a charge of $<ix:nonFraction unitRef="usd" contextRef="if8edbbcca1184addaa516c1e0794880b_D20200101-20201231" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RestructuringCharges" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMjc5OA_53bc312f-632c-446e-9918-e66b947689ee">3.5</ix:nonFraction>&#160;million during 2020. In addition, the Company wrote off assets with net book value of $<ix:nonFraction unitRef="usd" contextRef="i327009b331d4449bb2a0296d9ff61507_D20200101-20201231" decimals="-5" format="ixt:num-dot-decimal" name="calx:AssetWriteOff" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMjg3OQ_35250860-ad25-4f6d-94f8-c972e626ceef">0.3</ix:nonFraction>&#160;million and accrued common areas maintenance fees and property taxes related to the unused office space totaling $<ix:nonFraction unitRef="usd" contextRef="i327009b331d4449bb2a0296d9ff61507_D20200101-20201231" decimals="-5" format="ixt:num-dot-decimal" name="calx:AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMjk4Nw_72ffb48e-bf6f-445d-a16f-8da28f6aee64">1.4</ix:nonFraction>&#160;million during 2020.</span></div><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMzEwMw_b38ca90a-71f2-4f70-9516-e6a38891873e" escape="true"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes restructuring activities (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:41.715%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.412%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.348%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.412%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.348%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.412%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.353%"></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="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%">Facilities</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%">Severance and Related 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:8pt;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%">Balance as of December 31, 2020</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="i821bbed98cc4449d9c0818ac60ef5c48_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RestructuringReserve" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjA3NTg0ZTExNDFmYzRmYzVhZDA0YThlNDBjNzhkOWFhL3RhYmxlcmFuZ2U6MDc1ODRlMTE0MWZjNGZjNWFkMDRhOGU0MGM3OGQ5YWFfMS0yLTEtMS01NDUx_6ebf9b4f-3207-4743-9245-8e149a524689">1,244</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="i8a9d69567ccc4d71bf2a8f7efc113576_I20201231" decimals="-3" name="us-gaap:RestructuringReserve" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjA3NTg0ZTExNDFmYzRmYzVhZDA0YThlNDBjNzhkOWFhL3RhYmxlcmFuZ2U6MDc1ODRlMTE0MWZjNGZjNWFkMDRhOGU0MGM3OGQ5YWFfMS00LTEtMS01NDUx_85459175-0d1a-4b4b-bc2b-b989c092c48d">132</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RestructuringReserve" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjA3NTg0ZTExNDFmYzRmYzVhZDA0YThlNDBjNzhkOWFhL3RhYmxlcmFuZ2U6MDc1ODRlMTE0MWZjNGZjNWFkMDRhOGU0MGM3OGQ5YWFfMS02LTEtMS01NDUx_54247d6c-4a8f-4acd-a61b-893529ad0818">1,376</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 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 payments</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="iaa88655af0f243bf9022dab4a57016b5_D20210101-20211002" decimals="-3" name="us-gaap:PaymentsForRestructuring" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjA3NTg0ZTExNDFmYzRmYzVhZDA0YThlNDBjNzhkOWFhL3RhYmxlcmFuZ2U6MDc1ODRlMTE0MWZjNGZjNWFkMDRhOGU0MGM3OGQ5YWFfNC0yLTEtMS01NDUx_97cc90eb-378b-47b4-926c-45422ce271ed">193</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="i86780f7fafac4aaea0e6f929f67f3b8a_D20210101-20211002" decimals="-3" name="us-gaap:PaymentsForRestructuring" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjA3NTg0ZTExNDFmYzRmYzVhZDA0YThlNDBjNzhkOWFhL3RhYmxlcmFuZ2U6MDc1ODRlMTE0MWZjNGZjNWFkMDRhOGU0MGM3OGQ5YWFfNC00LTEtMS01NDUx_25fc6ac3-1041-46bd-87df-b80f37eebc65">132</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" name="us-gaap:PaymentsForRestructuring" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjA3NTg0ZTExNDFmYzRmYzVhZDA0YThlNDBjNzhkOWFhL3RhYmxlcmFuZ2U6MDc1ODRlMTE0MWZjNGZjNWFkMDRhOGU0MGM3OGQ5YWFfNC02LTEtMS01NDUx_d16d5ec1-a61c-4b10-acd9-d764ac9ebd0c">325</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%">Balance as of October 2, 2021</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="ia54af817c8084c6089e2e9aad2754d6c_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RestructuringReserve" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjA3NTg0ZTExNDFmYzRmYzVhZDA0YThlNDBjNzhkOWFhL3RhYmxlcmFuZ2U6MDc1ODRlMTE0MWZjNGZjNWFkMDRhOGU0MGM3OGQ5YWFfNS0yLTEtMS01NDUx_0af6e80c-f009-4a58-a6a4-743c9dbd4cc2">1,051</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="ibb78188966b74ac0b2ca062fc7dfd7e1_I20211002" decimals="-3" format="ixt:fixed-zero" name="us-gaap:RestructuringReserve" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjA3NTg0ZTExNDFmYzRmYzVhZDA0YThlNDBjNzhkOWFhL3RhYmxlcmFuZ2U6MDc1ODRlMTE0MWZjNGZjNWFkMDRhOGU0MGM3OGQ5YWFfNS00LTEtMS01NDUx_54b51726-93f9-413a-bbe6-12154c8f81c0">&#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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RestructuringReserve" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjA3NTg0ZTExNDFmYzRmYzVhZDA0YThlNDBjNzhkOWFhL3RhYmxlcmFuZ2U6MDc1ODRlMTE0MWZjNGZjNWFkMDRhOGU0MGM3OGQ5YWFfNS02LTEtMS01NDUx_8477eb5b-4f56-45c0-9eb1-66419345ac5b">1,051</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 id="i5d41e0a2263341439e48bd03d8d3586a_46"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">6.  <ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:DebtDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80Ni9mcmFnOmYyYTU3YjMxMzUyNDQzNGJhNzgzMDEzZGJjM2E2NmUxL3RleHRyZWdpb246ZjJhNTdiMzEzNTI0NDM0YmE3ODMwMTNkYmMzYTY2ZTFfOTU1_e3407c6a-f650-4294-ac72-7190f90ffc16" continuedAt="iedbe4c8cd9844f1da397431783a79343" escape="true">Credit Agreement</ix:nonNumeric></span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="iedbe4c8cd9844f1da397431783a79343">The Company has a loan and security agreement with Bank of America, N.A. (&#8220;BofA Loan Agreement&#8221;). The BofA Loan Agreement provides for a revolving facility up to a principal amount of $<ix:nonFraction unitRef="usd" contextRef="i5bea453f7dc8426ba1c703b598ad6e30_I20211002" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80Ni9mcmFnOmYyYTU3YjMxMzUyNDQzNGJhNzgzMDEzZGJjM2E2NmUxL3RleHRyZWdpb246ZjJhNTdiMzEzNTI0NDM0YmE3ODMwMTNkYmMzYTY2ZTFfMjI2_7b200068-7abd-4478-8e7f-14f3f5446d13">35.0</ix:nonFraction> million,&#160;including a&#160;$<ix:nonFraction unitRef="usd" contextRef="i316173499cff4977b47d0537c28c69b0_I20211002" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80Ni9mcmFnOmYyYTU3YjMxMzUyNDQzNGJhNzgzMDEzZGJjM2E2NmUxL3RleHRyZWdpb246ZjJhNTdiMzEzNTI0NDM0YmE3ODMwMTNkYmMzYTY2ZTFfMjQy_c1cc44f2-a48d-4f12-ba4c-bd4dea908d74">10.0</ix:nonFraction> million&#160;sublimit for letters of credit. The BofA Loan Agreement matures, and any outstanding amounts become due and payable, in January 2023. The BofA Loan Agreement is secured by substantially all of the Company&#8217;s assets, including its intellectual property. Loans under the credit facility bear interest at a rate per annum equal to either LIBOR (customarily defined) plus an applicable margin between&#160;<ix:nonFraction unitRef="number" contextRef="i4436e314311e4afab8714b1a96fa8378_D20210101-20211002" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80Ni9mcmFnOmYyYTU3YjMxMzUyNDQzNGJhNzgzMDEzZGJjM2E2NmUxL3RleHRyZWdpb246ZjJhNTdiMzEzNTI0NDM0YmE3ODMwMTNkYmMzYTY2ZTFfNjQx_93e85ddd-dd4d-41f8-9148-e9d92d1a840c">1.5</ix:nonFraction>%&#160;to&#160;<ix:nonFraction unitRef="number" contextRef="i81c0da0651e94f2f9eedfe6f8aba427a_D20210101-20211002" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80Ni9mcmFnOmYyYTU3YjMxMzUyNDQzNGJhNzgzMDEzZGJjM2E2NmUxL3RleHRyZWdpb246ZjJhNTdiMzEzNTI0NDM0YmE3ODMwMTNkYmMzYTY2ZTFfNjQ3_356f118a-2864-4a11-85e2-5cdd08c9254b">2.0</ix:nonFraction>%&#160;or Prime Rate (customarily defined) plus an applicable margin between&#160;<ix:nonFraction unitRef="number" contextRef="i27476bbe7e504f478dc9f52396d8a422_D20210101-20211002" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80Ni9mcmFnOmYyYTU3YjMxMzUyNDQzNGJhNzgzMDEzZGJjM2E2NmUxL3RleHRyZWdpb246ZjJhNTdiMzEzNTI0NDM0YmE3ODMwMTNkYmMzYTY2ZTFfNzIw_a51e3c59-bddb-4020-b82d-0040409bc926">0.5</ix:nonFraction>%&#160;to&#160;<ix:nonFraction unitRef="number" contextRef="i9c0ae4c4a012454385ecd85a98aec2c7_D20210101-20211002" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80Ni9mcmFnOmYyYTU3YjMxMzUyNDQzNGJhNzgzMDEzZGJjM2E2NmUxL3RleHRyZWdpb246ZjJhNTdiMzEzNTI0NDM0YmE3ODMwMTNkYmMzYTY2ZTFfNzI2_c9dc350a-c5fc-441e-854d-eab784ddf3a1">1.0</ix:nonFraction>% (<ix:nonFraction unitRef="number" contextRef="i119accbad0644664991a2fc5abd44545_I20211002" decimals="INF" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80Ni9mcmFnOmYyYTU3YjMxMzUyNDQzNGJhNzgzMDEzZGJjM2E2NmUxL3RleHRyZWdpb246ZjJhNTdiMzEzNTI0NDM0YmE3ODMwMTNkYmMzYTY2ZTFfNzMw_04e37486-2b1f-4e3a-8661-92f94f5dc465">3.75</ix:nonFraction>% as of October&#160;2, 2021), in each case largely based on a fixed charge coverage ratio measured at the end of each fiscal quarter. As of October&#160;2, 2021, the Company had <ix:nonFraction unitRef="usd" contextRef="i5bea453f7dc8426ba1c703b598ad6e30_I20211002" decimals="-3" format="ixt:fixed-zero" name="us-gaap:LineOfCredit" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80Ni9mcmFnOmYyYTU3YjMxMzUyNDQzNGJhNzgzMDEzZGJjM2E2NmUxL3RleHRyZWdpb246ZjJhNTdiMzEzNTI0NDM0YmE3ODMwMTNkYmMzYTY2ZTFfODc0_65f9309d-6841-4003-93c9-5d28d7c3785a">no</ix:nonFraction> outstanding borrowings and had full availability of borrowings up to $<ix:nonFraction unitRef="usd" contextRef="i5bea453f7dc8426ba1c703b598ad6e30_I20211002" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80Ni9mcmFnOmYyYTU3YjMxMzUyNDQzNGJhNzgzMDEzZGJjM2E2NmUxL3RleHRyZWdpb246ZjJhNTdiMzEzNTI0NDM0YmE3ODMwMTNkYmMzYTY2ZTFfOTQ2_05125776-6431-4e9d-9bed-ab91c45fd3d3">35.0</ix:nonFraction> million.</ix:continuation></span></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">12</span></div></div></div><div id="i5d41e0a2263341439e48bd03d8d3586a_49"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">7.  <ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfMzcwOA_fe592025-d0b4-4a13-b6fa-ef63cd72f00b" continuedAt="i813071ac53914fbd97b49d3798409064" escape="true">Commitments and Contingencies</ix:nonNumeric></span></div><ix:continuation id="i813071ac53914fbd97b49d3798409064" continuedAt="i1d23af8835594a5582297bfccdef8561"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Lease Commitments</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases office space under non-cancelable operating leases. Certain of the Company&#8217;s operating leases contain renewal options and rent acceleration clauses. <ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfMzY5MA_317a5ece-0ccb-443e-8fa2-6fbf720ad072" continuedAt="i453695ef0b654241b7cff42dad633126" escape="true">Future minimum payments under the non-cancelable operating leases consisted of the following as of October&#160;2, 2021 (in&#160;thousands):</ix:nonNumeric></span></div><div style="margin-top:11pt"><ix:continuation id="i453695ef0b654241b7cff42dad633126"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"></td><td style="width:75.010%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.016%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.674%"></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%">Period</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%">Future Minimum Lease Payments</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 2021</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmU4NWM1YWM4Y2I5MjQ0YTJiMWVjM2M5MDUyMmFhOTk4L3RhYmxlcmFuZ2U6ZTg1YzVhYzhjYjkyNDRhMmIxZWMzYzkwNTIyYWE5OThfMS0yLTEtMS01NDUx_d7ab41ec-9457-498c-9c7e-295eee4eb55a">1,005</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%">2022</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmU4NWM1YWM4Y2I5MjQ0YTJiMWVjM2M5MDUyMmFhOTk4L3RhYmxlcmFuZ2U6ZTg1YzVhYzhjYjkyNDRhMmIxZWMzYzkwNTIyYWE5OThfMi0yLTEtMS01NDUx_49247edf-18c8-4408-9b5e-88a3d892fdbb">4,014</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%">2023</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmU4NWM1YWM4Y2I5MjQ0YTJiMWVjM2M5MDUyMmFhOTk4L3RhYmxlcmFuZ2U6ZTg1YzVhYzhjYjkyNDRhMmIxZWMzYzkwNTIyYWE5OThfMy0yLTEtMS01NDUx_6ace0bf3-809a-4c58-874c-ed9d84a57b41">4,157</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%">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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmU4NWM1YWM4Y2I5MjQ0YTJiMWVjM2M5MDUyMmFhOTk4L3RhYmxlcmFuZ2U6ZTg1YzVhYzhjYjkyNDRhMmIxZWMzYzkwNTIyYWE5OThfNC0yLTEtMS01NDUx_269210ac-a23e-4e21-a588-5c35f5ba9bf5">3,962</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmU4NWM1YWM4Y2I5MjQ0YTJiMWVjM2M5MDUyMmFhOTk4L3RhYmxlcmFuZ2U6ZTg1YzVhYzhjYjkyNDRhMmIxZWMzYzkwNTIyYWE5OThfNS0yLTEtMS01NDUx_1b304aed-d42f-484b-a24e-08e7a7296892">3,453</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" name="calx:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmU4NWM1YWM4Y2I5MjQ0YTJiMWVjM2M5MDUyMmFhOTk4L3RhYmxlcmFuZ2U6ZTg1YzVhYzhjYjkyNDRhMmIxZWMzYzkwNTIyYWE5OThfNi0yLTEtMS01NDUx_eecb5ea5-f2e6-4eab-8214-9b9ed04f4bcf">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 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%">Total future 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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmU4NWM1YWM4Y2I5MjQ0YTJiMWVjM2M5MDUyMmFhOTk4L3RhYmxlcmFuZ2U6ZTg1YzVhYzhjYjkyNDRhMmIxZWMzYzkwNTIyYWE5OThfNy0yLTEtMS01NDUx_71da8acf-6874-4a1c-96ed-023421d556e7">16,766</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 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%">Less imputed interest</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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmU4NWM1YWM4Y2I5MjQ0YTJiMWVjM2M5MDUyMmFhOTk4L3RhYmxlcmFuZ2U6ZTg1YzVhYzhjYjkyNDRhMmIxZWMzYzkwNTIyYWE5OThfOC0yLTEtMS01NDUx_2d1dddd5-ceca-4bec-bcf4-0c864a88e3f9">2,099</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: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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmU4NWM1YWM4Y2I5MjQ0YTJiMWVjM2M5MDUyMmFhOTk4L3RhYmxlcmFuZ2U6ZTg1YzVhYzhjYjkyNDRhMmIxZWMzYzkwNTIyYWE5OThfOS0yLTEtMS01NDUx_572878cc-3b03-4ccc-b56f-0c278c8b7da7">14,667</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:continuation></div><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="calx:LesseeOperatingLeaseLiabilityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfMzY5MQ_84d4ac83-7bdc-4dcd-bbd3-87294358da77" escape="true"><div style="margin-top:1pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of October&#160;2, 2021, the operating lease liability consisted of the following (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.052%"><tr><td style="width:1.0%"></td><td style="width:78.656%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.314%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.730%"></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></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%"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmIzN2YyOWZkNGJiNjRjZDBiMmFhMGM1NDM4ODBiOWRhL3RhYmxlcmFuZ2U6YjM3ZjI5ZmQ0YmI2NGNkMGIyYWEwYzU0Mzg4MGI5ZGFfMS0wLTEtMS01NDUx_31b3eaa5-08ea-4bbe-a999-f87feedfed4b">Accrued liabilities - current portion of operating leases</span></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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmIzN2YyOWZkNGJiNjRjZDBiMmFhMGM1NDM4ODBiOWRhL3RhYmxlcmFuZ2U6YjM3ZjI5ZmQ0YmI2NGNkMGIyYWEwYzU0Mzg4MGI5ZGFfMS0yLTEtMS01NDUx_287cec7e-16ae-492a-ac9e-2662ee77843f">3,151</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="padding:2px 1pt;text-align: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 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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmIzN2YyOWZkNGJiNjRjZDBiMmFhMGM1NDM4ODBiOWRhL3RhYmxlcmFuZ2U6YjM3ZjI5ZmQ0YmI2NGNkMGIyYWEwYzU0Mzg4MGI5ZGFfMi0yLTEtMS01NDUx_168e74c1-6f96-4a89-b279-782ebc04456a">11,516</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: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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmIzN2YyOWZkNGJiNjRjZDBiMmFhMGM1NDM4ODBiOWRhL3RhYmxlcmFuZ2U6YjM3ZjI5ZmQ0YmI2NGNkMGIyYWEwYzU0Mzg4MGI5ZGFfMy0yLTEtMS01NDUx_11a73955-e67c-4db4-81f0-79a286c595aa">14,667</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><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases its headquarters office space in San Jose, California under a lease agreement that expires in December 2025. The future minimum lease payments under the lease are $<ix:nonFraction unitRef="usd" contextRef="ifb81db97359e4793b692ce6dc59142fa_I20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfNjEy_53e54b37-f4d9-46d1-b263-ea7787ef182b">10.2</ix:nonFraction> million and are included in the table above.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted average discount rate for the Company&#8217;s operating leases as of October&#160;2, 2021 was <ix:nonFraction unitRef="number" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="3" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfNzM1_79dfc00c-608e-4b65-9f33-c2b3a948dbf0">6.5</ix:nonFraction>%. The weighted average remaining lease term as of October&#160;2, 2021 was <ix:nonNumeric contextRef="ib4194844b22648f788a74d13c0226609_I20211002" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfNzk0_3ce3b163-4e66-4318-b664-4766bff1ba92">4.1</ix:nonNumeric> years.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three and nine months ended October&#160;2, 2021, total rent expense of the Company was $<ix:nonFraction unitRef="usd" contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfODc1_fc2c68fc-7fcb-481c-af99-e92ef4b07c6a">1.0</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfODgy_c562777c-7077-415b-ae43-a75743115002">3.1</ix:nonFraction>&#160;million, respectively. For the three and nine months ended September&#160;26, 2020, total rent expense of the Company was $<ix:nonFraction unitRef="usd" contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfOTc3_b01026c1-1bd6-49a1-8525-d585085be1a7">0.9</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfOTg0_87ad6a97-90f3-48f4-846a-f4d7c18c2544">3.1</ix:nonFraction>&#160;million, respectively. Cash paid within operating cash flows for operating leases was $<ix:nonFraction unitRef="usd" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeasePayments" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfMTA2NQ_4655660a-3347-4331-927c-423acce89a75">2.9</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeasePayments" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfMTA3Mg_99fa9048-2551-4c15-a1f0-8dd1c2c8e858">2.5</ix:nonFraction>&#160;million for the nine months ended October&#160;2, 2021 and September&#160;26, 2020, respectively.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Purchase Commitments</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s suppliers, including contract manufacturers (&#8220;CMs&#8221;) and original design manufacturers (&#8220;ODMs&#8221;), place orders for certain component inventory in advance based upon the Company&#8217;s build forecasts in order to reduce manufacturing lead times and ensure adequate component supply. The components are used by the CMs and ODMs to build the products included in the build forecasts. The Company generally does not take ownership of the components held by CMs and ODMs. The Company places purchase orders with its CMs and ODMs in order to fulfill its monthly finished product inventory requirements. The Company incurs a liability when the CMs and ODMs convert the component inventory to a finished product and takes ownership of the finished goods inventory. In the event of termination of services with a manufacturing partner, the Company has purchased, and may be required to purchase in the future, certain of the remaining components inventory held by the CM or ODM as well as any outstanding orders pursuant to the contractual provisions with such CM or ODM. As of October&#160;2, 2021, the Company had approximately $<ix:nonFraction unitRef="usd" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfMjI1NQ_dd09113c-9590-4db4-9350-291f935c6fc2">184.1</ix:nonFraction> million of outstanding purchase commitments for inventories to be delivered by its suppliers, including CMs and ODMs, within one year.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has from time to time, and subject to certain conditions, reimbursed certain suppliers for component inventory purchases when this inventory has been rendered excess or obsolete, for example due to manufacturing and engineering change orders resulting from design changes, manufacturing discontinuation of products by its suppliers, or in cases where the Company has committed inventory levels that greatly exceed projected demand. The estimated excess and obsolete inventory liabilities related to such manufacturing and engineering change orders and other factors, which are included in accrued liabilities in the accompanying balance sheets, were $<ix:nonFraction unitRef="usd" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-5" format="ixt:num-dot-decimal" name="calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfMTY0OTI2NzQ0NTUwNg_b4deb156-eda9-4774-883e-4016228d32cf">4.6</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-5" format="ixt:num-dot-decimal" name="calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfMTY0OTI2NzQ0NTUxMQ_b259ebef-3255-49f5-aad1-ccc44d7626c8">4.0</ix:nonFraction> million as of October&#160;2, 2021 and December&#160;31, 2020, respectively. The Company records the related charges in cost of systems revenue in its Condensed Consolidated Statements of Comprehensive Income.</span></div></ix:continuation><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">13</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><ix:continuation id="i1d23af8835594a5582297bfccdef8561"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Litigation</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, the Company is involved in various legal proceedings arising from the normal course of business activities. The Company is not currently a party to any legal proceedings that, if determined adversely to the Company, in management&#8217;s opinion, are currently expected to individually or in the aggregate have a material adverse effect on the Company&#8217;s business, operating results or financial condition taken as a whole.</span></div></ix:continuation><div id="i5d41e0a2263341439e48bd03d8d3586a_55"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">8.  <ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNzA2MA_6ab2addf-6b71-4b39-9f21-118ba50d4067" continuedAt="id36e131bd58840b7ae099a71ee8b044b" escape="true">Stockholders&#8217; Equity </ix:nonNumeric></span></div><ix:continuation id="id36e131bd58840b7ae099a71ee8b044b" continuedAt="ib92c3458ae6c4075a90a2b07ef05ce0f"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">2019 Equity Incentive Award Plan</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employees and consultants of the Company, its subsidiaries and affiliates, as well as members of the Company&#8217;s Board of Directors, are eligible to receive awards under the 2019 Equity Incentive Award Plan (&#8220;the 2019 Plan&#8221;). The 2019 Plan provides for the grant of stock options, including incentive stock options and nonqualified stock options, stock appreciation rights, restricted stock, restricted stock units, other stock or cash-based awards and dividend equivalents to eligible individuals. At the Company&#8217;s 2021 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the 2019 Plan by <ix:nonFraction unitRef="shares" contextRef="iaedd2a09379f479bb16fa0ffec45f2ee_I20211002" decimals="-5" format="ixt:num-dot-decimal" name="calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNzI1_93e11abb-332c-49f0-a06a-b10567b4ca10">3.8</ix:nonFraction>&#160;million shares. As of October&#160;2, 2021, there were <ix:nonFraction unitRef="shares" contextRef="iaedd2a09379f479bb16fa0ffec45f2ee_I20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNzU3_5779e2b5-17b6-4dbe-85e3-9b3a5ea7a730">7.0</ix:nonFraction>&#160;million shares available for issuance under the 2019 Plan.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock Options</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three months ended October&#160;2, 2021, <ix:nonFraction unitRef="shares" contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="INF" format="ixt:fixed-zero" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMTY0OTI2NzQ0ODk1Nw_7a1b93b3-5e9f-4d17-8b6f-2686453f79d0">no</ix:nonFraction> stock option awards were granted. During the nine months ended October&#160;2, 2021, stock option awards exercisable for up to an aggregate of <ix:nonFraction unitRef="shares" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMTExMg_a66c5d2f-369b-4dbf-a472-ceb8090c633d">0.6</ix:nonFraction>&#160;million shares of common stock were granted with a grant date weighted-average exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMTIwNA_8e84a327-c78f-4167-baea-1b60f59f2644">39.38</ix:nonFraction> per share. These stock option awards vest <ix:nonFraction unitRef="number" contextRef="i04748989fcfe4111a35085ec6b796896_D20210101-20211002" decimals="INF" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMTI0OQ_83d4037f-92ac-413d-abc5-3735654242c4">25</ix:nonFraction>% on the first anniversary of the vesting commencement date and on a quarterly basis thereafter over an additional <ix:nonNumeric contextRef="i62b2e08a6c4f49a298e98198c23fdfa6_D20210101-20211002" format="ixt-sec:durwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMTM2NQ_b389a3d9-10ad-4fa9-ba7d-38d094f918de">three years</ix:nonNumeric>.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In February 2021, performance-based stock option awards exercisable for up to an aggregate of <ix:nonFraction unitRef="shares" contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMTQ2Mw_0b69f1ef-0571-49e9-af5d-8ef47591c9fd">0.7</ix:nonFraction>&#160;million shares of common stock were granted to certain Company executives with a grant date exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMTU2OA_346b4c9f-dd9e-48a2-bbfb-f9bf528107ca">36.74</ix:nonFraction> per share. The actual number of shares earned is contingent upon achievement of annual corporate financial targets for bookings and non-GAAP net income for 2021 (collectively, the &#8220;2021 Performance Targets&#8221;) during the <ix:nonNumeric contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228" format="ixt-sec:durwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNzA2Ng_695a4183-64d1-4e2b-ab1b-1836e983c3af">one-year</ix:nonNumeric> performance period. These performance-based stock option awards will vest, subject to certification by the Compensation Committee of the Company&#8217;s Board of Directors upon the achievement of the 2021 Performance Targets, as to <ix:nonFraction unitRef="number" contextRef="ie120eba8bcb748a48d670dce0d75c865_D20210201-20210228" decimals="INF" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjAyNA_7e33b8d3-4772-4dfc-b598-81b5cd171307">25</ix:nonFraction>% of the shares of common stock earned on the one year anniversary of the date of grant, and as to the remaining <ix:nonFraction unitRef="number" contextRef="i837861cca2d042bb879a5eb612b704f8_D20210201-20210228" decimals="INF" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjEzOA_21d244db-d9d8-4953-9c99-dd55df8a0b53">75</ix:nonFraction>% of the shares of common stock earned, in substantially equal quarterly installments over the subsequent <ix:nonNumeric contextRef="i837861cca2d042bb879a5eb612b704f8_D20210201-20210228" format="ixt-sec:durmonth" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjI0NQ_e183202c-6993-4409-b44e-ac6af05ec411">36</ix:nonNumeric> months, subject to the executive&#8217;s continuous service with the Company through the respective vesting dates. If the non-GAAP net income target is achieved below <ix:nonFraction unitRef="number" contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228" decimals="INF" name="calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjQwOQ_44bca922-45e4-4f47-bdd0-156caed51b2e">80</ix:nonFraction>% of target or the bookings target is achieved below <ix:nonFraction unitRef="number" contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228" decimals="INF" name="calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjQ2Mw_f177353d-09c9-4550-bf8e-31bc5d570949">90</ix:nonFraction>% of target, <ix:nonFraction unitRef="shares" contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228" decimals="INF" format="ixt:fixed-zero" name="calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjQ3Nw_2ecc5514-2f95-46e6-b3cb-8d1a626e6013">no</ix:nonFraction> shares would be awarded, and the performance-based stock option awards would be forfeited in full. If both targets are achieved at the minimum threshold of <ix:nonFraction unitRef="number" contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228" decimals="INF" name="calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjYzNg_1bf915e9-2c06-416c-9a8e-b0d4f4239750">80</ix:nonFraction>% of target for non-GAAP net income and <ix:nonFraction unitRef="number" contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228" decimals="INF" name="calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjY3Nw_6bff2177-0cae-465f-ab05-52496fd55182">90</ix:nonFraction>% of target for bookings, then the shares are awarded at <ix:nonFraction unitRef="number" contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228" decimals="INF" name="calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjczNQ_43cf1dc8-2948-4f5c-ae61-532018a3cebb">50</ix:nonFraction>% of the granted shares, with an increasing percentage of shares awarded above the minimum thresholds up to <ix:nonFraction unitRef="number" contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228" decimals="INF" name="calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjg0NA_4e78fe5c-fd71-4507-b26d-d3837f08d96e">100</ix:nonFraction>% of the granted shares if both targets are achieved at <ix:nonFraction unitRef="number" contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228" decimals="INF" name="calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjkwMQ_97748bfb-c6c1-42d5-b307-5c4304fe324c">100</ix:nonFraction>% or more of target. The probability of meeting the performance conditions related to these performance-based stock option awards was assessed to be probable as of&#160;October&#160;2, 2021, and stock-based compensation expense of $<ix:nonFraction unitRef="usd" contextRef="i63915c9ed57f4e8083ef090302be1894_D20210704-20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensation" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMzEyMA_4e243f83-44c0-4526-a132-3c5f5f347c83">1.9</ix:nonFraction>&#160;million was recognized for the three months ended&#160;October&#160;2, 2021. For the nine months ended October&#160;2, 2021, stock-based compensation expense of $<ix:nonFraction unitRef="usd" contextRef="i9b413c47d93249938ee2593660133a8d_D20210101-20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensation" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMzIzMw_7c29e538-2a4a-4352-95b6-d2dc66fd393d">4.8</ix:nonFraction>&#160;million was recognized.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the&#160;three&#160;months ended&#160;October&#160;2, 2021,&#160;<ix:nonFraction unitRef="shares" contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMzI4Ng_eff8b82f-895d-42a6-a25f-bd39e3d431ec">0.4</ix:nonFraction>&#160;million shares of common stock were issued pursuant to the exercise of stock options at a weighted-average exercise price of&#160;$<ix:nonFraction unitRef="usdPerShare" contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMzQwNg_10ada187-6088-4443-87f8-205b0e4c40ae">6.98</ix:nonFraction>&#160;per share. During the nine months ended October&#160;2, 2021, <ix:nonFraction unitRef="shares" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMzQ1MQ_46c035bf-fdbe-40fa-8288-b77228dded03">1.0</ix:nonFraction>&#160;million shares of common stock were issued pursuant to the exercise of stock options at a weighted-average exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMzU3MQ_f4d0d207-7f10-41f9-8a07-2c0c05a03e88">8.20</ix:nonFraction> per share. As of October&#160;2, 2021, unrecognized stock-based compensation expense of $<ix:nonFraction unitRef="usd" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMzY0NA_57fa1ac8-86a4-4d7c-a020-bed53fcd27df">27.6</ix:nonFraction> million related to stock options, net of estimated forfeitures, is expected to be recognized over a weighted-average period of <ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" format="ixt-sec:duryear" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMzc2Ng_97c682ca-c9d3-410e-8268-112db9c31c4c">2.2</ix:nonNumeric> years.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Employee Stock Purchase Plans</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company maintains <ix:nonFraction unitRef="plan" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="INF" format="ixt-sec:numwordsen" name="calx:NumberOfEmployeeStockPurchasePlans" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMzgyOA_0883b65b-393b-4c08-90c0-21d2fa61c244">two</ix:nonFraction> employee stock purchase plans - the Amended and Restated Employee Stock Purchase Plan (the &#8220;ESPP&#8221;) and the Amended and Restated 2017 Nonqualified Employee Stock Purchase Plan (the &#8220;NQ ESPP&#8221;).</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The ESPP allows eligible employees to purchase shares of the Company&#8217;s common stock through payroll deductions of up to <ix:nonFraction unitRef="number" contextRef="if278cd5492494030873418d6b5622c9c_I20211002" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNDE0Mw_74758ea5-cd8c-468d-bc58-e0676311c513">15</ix:nonFraction>% of their eligible compensation subject to certain Internal Revenue Code limitations. In addition, no participant may purchase more than <ix:nonFraction unitRef="shares" contextRef="ia76d774d956c4b278d169b4619285bed_D20210101-20211002" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNDI4Mg_82c98cad-821a-4d63-b857-227bc7f89eee">2,000</ix:nonFraction> shares of common stock in each offering period.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The offering periods under the ESPP are two <ix:nonNumeric contextRef="ia76d774d956c4b278d169b4619285bed_D20210101-20211002" format="ixt-sec:durwordsen" name="calx:SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNzA1Nw_2051f5eb-94fb-41d3-b09e-87878ef660e7">six-month</ix:nonNumeric> offering periods from August 15</span><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">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through February 14</span><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">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and February 15</span><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">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through August 14</span><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">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of each year. The price of common stock purchased under the ESPP is <ix:nonFraction unitRef="number" contextRef="ia76d774d956c4b278d169b4619285bed_D20210101-20211002" decimals="INF" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNDU0OA_76479c24-367e-4a27-8369-fcf426aa2b44">85</ix:nonFraction>% of the lower of the fair market value of the common stock on the commencement date and the end date of each <ix:nonNumeric contextRef="ia76d774d956c4b278d169b4619285bed_D20210101-20211002" format="ixt-sec:durwordsen" name="calx:SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNzA1NA_778d9c2e-cffc-4eb6-ac92-77d7585150ec">six-month</ix:nonNumeric> offering period. At the </span></div></ix:continuation><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">14</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><ix:continuation id="ib92c3458ae6c4075a90a2b07ef05ce0f"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Company&#8217;s 2021 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the ESPP by <ix:nonFraction unitRef="shares" contextRef="iee7ed7956de74c89a455fe922a51e77e_D20210703-20210703" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNDg0NA_5561f423-89da-4b05-a6c5-881687e012c1">1.3</ix:nonFraction>&#160;million shares, which will go into effect for the <ix:nonNumeric contextRef="ia76d774d956c4b278d169b4619285bed_D20210101-20211002" format="ixt-sec:durwordsen" name="calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNzA2Nw_348f5085-4549-43a6-9f28-4a39d109a199">six-month</ix:nonNumeric> purchase period commencing August 15, 2021 and ending on February 14, 2022. The total shares authorized for issuance under the ESPP increased from <ix:nonFraction unitRef="shares" contextRef="i568082441fa347cd8690cebadfb39a7f_I20210702" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNTA0NQ_37e2dfed-9738-44ea-b5ac-542909192a93">9.8</ix:nonFraction>&#160;million shares to <ix:nonFraction unitRef="shares" contextRef="iddb4993f368d4549967bdcf9e55cfdfd_I20210703" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNTA1OA_a16401a0-e8b8-413b-a317-ffadb1f05e82">11.1</ix:nonFraction>&#160;million shares. As of October&#160;2, 2021, there were <ix:nonFraction unitRef="shares" contextRef="if278cd5492494030873418d6b5622c9c_I20211002" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNTA5MA_2ec6830f-49a9-4368-8c54-ad3a7ccbd577">3.6</ix:nonFraction> million shares available for issuance under the ESPP. During the nine months ended October&#160;2, 2021, <ix:nonFraction unitRef="shares" contextRef="ia76d774d956c4b278d169b4619285bed_D20210101-20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNTE3MQ_6d12fc74-163a-42d1-a4a2-7cc7d7b1ee5f">0.3</ix:nonFraction>&#160;million shares were purchased under the ESPP. As of October&#160;2, 2021, unrecognized stock-based compensation expense of $<ix:nonFraction unitRef="usd" contextRef="if278cd5492494030873418d6b5622c9c_I20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNTI3MQ_64b62d92-0b9b-459b-905a-3ea75badbc4c">1.1</ix:nonFraction> million related to the ESPP is expected to be recognized over a remaining service period of <ix:nonNumeric contextRef="ia76d774d956c4b278d169b4619285bed_D20210101-20211002" format="ixt-sec:duryear" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNTM1OA_c5fca6e3-3e9e-48f0-951d-87ff1e45eb7c">0.4</ix:nonNumeric> years.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The NQ ESPP allows eligible employees to purchase shares of the Company&#8217;s common stock through payroll deductions of up to <ix:nonFraction unitRef="number" contextRef="i6b926140584b4a4685093bbd7947ed29_I20211002" decimals="INF" name="calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNTQ5MQ_97d99a84-6df9-429b-8bc7-bddcf3097f3b">25</ix:nonFraction>% of their eligible compensation. Eligible employees have the right to (a) purchase the maximum number of whole shares of common stock that can be purchased with the elected payroll deductions during each offering period for which the employee is enrolled at a purchase price equal to the closing price of the Company&#8217;s common stock on the last day of such offering period and (b) receive an equal number of shares of the Company&#8217;s common stock that are subject to a risk of forfeiture in the event the employee terminates employment within the <ix:nonNumeric contextRef="i3b2706e65f9d4a3fb1e79776d84855ff_D20210101-20211002" format="ixt-sec:durwordsen" name="calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjAzNw_c4ddcbdb-3ba8-4a77-904f-1dc276cf22f6">one year</ix:nonNumeric> period immediately following the purchase date. The NQ ESPP provides <ix:nonFraction unitRef="period" contextRef="i6b926140584b4a4685093bbd7947ed29_I20211002" decimals="INF" format="ixt-sec:numwordsen" name="calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjEwOQ_9106b7bd-b35d-4cf5-a079-893bb735ff55">two</ix:nonFraction> <ix:nonNumeric contextRef="i3b2706e65f9d4a3fb1e79776d84855ff_D20210101-20211002" format="ixt-sec:durwordsen" name="calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNzA2NA_177c618e-b0c2-4f4c-ba03-ad4d1d3134e1">six-month</ix:nonNumeric> offering periods from November 15</span><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">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through May 14</span><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">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and May 15</span><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">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through November 14</span><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">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of each year. At the Company&#8217;s 2021 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the NQ ESPP by <ix:nonFraction unitRef="shares" contextRef="i24d43847619741dda3d74e2156da7882_D20210703-20210703" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjM4NQ_c794c456-3c3a-44cc-8c8d-35a45c2dfe97">0.8</ix:nonFraction>&#160;million shares. The maximum number of shares of common stock currently authorized for issuance under the NQ ESPP is <ix:nonFraction unitRef="shares" contextRef="i6b926140584b4a4685093bbd7947ed29_I20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjQ5Ng_4d42ac76-a209-4a96-bccb-0a690ffe045f">5.5</ix:nonFraction>&#160;million shares, with a maximum of <ix:nonFraction unitRef="shares" contextRef="i6b926140584b4a4685093bbd7947ed29_I20211002" decimals="INF" format="ixt:num-dot-decimal" name="calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjUyNQ_f4114aba-ff87-4b42-bf0a-a157c905ebed">0.5</ix:nonFraction>&#160;million shares allocated per purchase period. As of October&#160;2, 2021, there were <ix:nonFraction unitRef="shares" contextRef="i6b926140584b4a4685093bbd7947ed29_I20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjU4Nw_44168cfb-c15e-4dca-93b0-44d7d035ab62">2.9</ix:nonFraction> million shares available for issuance under the NQ ESPP, including the stockholder-approved <ix:nonFraction unitRef="shares" contextRef="i24d43847619741dda3d74e2156da7882_D20210703-20210703" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjY3NA_2253984f-214d-4032-b1a9-a20752dc1e43">0.8</ix:nonFraction>&#160;million share increase. During the nine months ended October&#160;2, 2021, <ix:nonFraction unitRef="shares" contextRef="i3b2706e65f9d4a3fb1e79776d84855ff_D20210101-20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjczNQ_039b97ec-bce3-48a6-99ee-1a2164b801db"><ix:nonFraction unitRef="shares" contextRef="i3b2706e65f9d4a3fb1e79776d84855ff_D20210101-20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjczNQ_ba1a12d5-6562-477b-9893-46c7d4c6bea1">0.2</ix:nonFraction></ix:nonFraction>&#160;million shares were purchased and issued. As of October&#160;2, 2021, unrecognized stock-based compensation expense of $<ix:nonFraction unitRef="usd" contextRef="i6b926140584b4a4685093bbd7947ed29_I20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjgzMQ_f36c4ae9-8641-4f53-a044-aa26de95c2d9">4.8</ix:nonFraction> million related to the NQ ESPP is expected to be recognized over a remaining weighted-average service period of <ix:nonNumeric contextRef="i3b2706e65f9d4a3fb1e79776d84855ff_D20210101-20211002" format="ixt-sec:duryear" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjkzOA_2876ea57-da09-4970-b6d2-0c50b91f7703">0.9</ix:nonNumeric> year.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock-Based Compensation</span></div><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNzA2NQ_32ff03ec-3cf3-4ed6-b6d8-807d4e920e82" escape="true"><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes stock-based compensation expense (in thousands):</span></div><div style="margin-top:11pt;text-align:center"><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:41.590%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></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:1.408%"></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:1.408%"></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:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.621%"></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:400;line-height:100%">&#160;</span></td><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:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><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:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></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:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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%">September 26,<br/>2020</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%">October 2,<br/>2021</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%">September 26,<br/>2020</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%">Cost of revenue:</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 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%">Products</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="i23ce2f571e714241971993dc677f88e3_D20210704-20211002" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfMy0yLTEtMS01NDUx_f2abccdb-e186-4219-ac64-3c2b13d9cd94">211</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="i854c98d6d03d473d939ced27470817f8_D20200628-20200926" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfMy00LTEtMS01NDUx_097df14d-6651-40f4-81e2-a4b027cda51e">159</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="i9ec4341d83144a43a9c8ed72830666ae_D20210101-20211002" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfMy02LTEtMS01NDUx_19ae0e67-e85b-4b4e-8d38-36fef7b55049">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 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="i0c6f53deca22451494b38b6e77f314f5_D20200101-20200926" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfMy04LTEtMS01NDUx_5d7008ce-0634-4248-9ab6-e99f58c09570">392</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%">Services</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="id7c218565c464461bbf42b8c1981b59c_D20210704-20211002" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNC0yLTEtMS01NDUx_ec6e73ba-15dd-43ba-b40c-191a40b2d147">177</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="i4e0265d501074aef9cf22a481824bb52_D20200628-20200926" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNC00LTEtMS01NDUx_9ad08861-69a0-432f-aeca-027eb6dbd902">103</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="ibba56e0392df4d409a03c83589bf320b_D20210101-20211002" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNC02LTEtMS01NDUx_a908e02b-780b-45a0-bbd9-cca03c4b1a8d">483</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="i805142f006874140a2357ca2d3fadb93_D20200101-20200926" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNC04LTEtMS01NDUx_2cdab413-7498-43b6-b1a5-07de86d8d50c">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;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sales and marketing</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="i1eaa5204d4a34d59b1518bdf2044dcbc_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNS0yLTEtMS01NDUx_8ed37249-2276-4389-bf87-40ecd88f77f4">1,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="ie93c1d10efe2424b8d29f09e0531e02b_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNS00LTEtMS01NDUx_d4dad837-1493-424c-bcd1-4d229c7fce62">1,035</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="idf0e5507a73a432b88ae86160155afa5_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNS02LTEtMS01NDUx_ef0d6852-26a0-43fb-b575-79210617a8a9">4,961</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="ia3dd35b65043498a84cc0596e41c2c3f_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNS04LTEtMS01NDUx_69989104-94ac-40b8-b5a1-93f68897245f">2,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;text-align: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="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="i9c65bf315e424aa7bd7f39d55275dcf5_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNi0yLTEtMS01NDUx_ff312e51-870a-48d5-8180-35fc70e6d7b4">1,803</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="i772c16ce880843a79a4b7a9f4965bf5f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNi00LTEtMS01NDUx_155965b5-dcde-46e8-a113-3ceebb351ee9">1,237</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="i0d80a0be320d4e61a537de0fef063e31_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNi02LTEtMS01NDUx_decfc211-7f42-4065-adcc-7bdddb64488d"><ix:nonFraction unitRef="usd" contextRef="i0d80a0be320d4e61a537de0fef063e31_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNi02LTEtMS01NDUx_e6a61003-066d-4d79-bb67-fba6611b0d07">5,031</ix:nonFraction></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="iff5a20af7a3c462e8528a4f4d682d516_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNi04LTEtMS01NDUx_51c38172-77f4-4e42-81d5-bffd5ddf9194"><ix:nonFraction unitRef="usd" contextRef="iff5a20af7a3c462e8528a4f4d682d516_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNi04LTEtMS01NDUx_bc9f608b-d40f-4674-bd81-0ac60cb2776f">3,344</ix:nonFraction></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%">General and administrative</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="if51072b2344645198283c7335025b8fa_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNy0yLTEtMS01NDUx_6c4f0e77-5969-4768-aef1-ed9e85dd1ef5">2,679</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="ia4640ca0f38f41aca5f638a6263297b1_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNy00LTEtMS01NDUx_95a3c016-6a6b-4cb5-a436-e870ff476223">1,040</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="i235a40528be84d13810530591767cd1f_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNy02LTEtMS01NDUx_d681d5e8-90b0-4a83-ac6a-bf9dfaee0be6">7,021</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="icf9046f4e00941a280e9cf365f7814ea_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNy04LTEtMS01NDUx_60987109-0f52-4d27-bb1a-630d93d956c1">2,762</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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfOC0yLTEtMS01NDUx_6bcabd19-c71d-4f72-ad87-803b7e393870">6,661</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfOC00LTEtMS01NDUx_dd1183ed-4ced-42e1-ba31-b389157ee702">3,574</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfOC02LTEtMS01NDUx_248bac8c-798b-4cf2-aca8-6e61ec1de3bf">18,055</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfOC04LTEtMS01NDUx_e3c6828c-3011-45b1-ba97-ecd6254fed25">9,800</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 id="i5d41e0a2263341439e48bd03d8d3586a_58"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">9. <ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMzAyNg_302b5740-e9fe-4679-bdec-d5a2ffed6006" continuedAt="i9b0c7c185c7b4b259afd6998a6c4875e" escape="true">Revenue from Contracts with Customers</ix:nonNumeric></span></div><ix:continuation id="i9b0c7c185c7b4b259afd6998a6c4875e" continuedAt="i8f4b703c4279481bad88fdeba6001618"><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:RevenueRecognitionPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMzAyOA_b072de2a-aac9-408b-8498-43e027d91ace" escape="true"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company derives revenue from contracts with customers primarily from the following and categorizes its revenue as follows:</span></div><div style="padding-left:31.5pt;text-indent:-9pt"><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:5.5pt">Systems include revenue from the sale of access and premises systems, software platform licenses and cloud-based software subscriptions; and</span></div><div style="padding-left:31.5pt;text-indent:-9pt"><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:5.5pt">Services include revenue from customer support, software- and cloud-based maintenance, extended warranty subscriptions, professional services, training and managed services.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMzAzMw_a8835d6b-8313-4818-8c77-7573a1217ee6" escape="true"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of revenue disaggregated by geographic region based upon the location of the customers (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.198%"><tr><td style="width:1.0%"></td><td style="width:23.824%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.471%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.383%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.559%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.471%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.383%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.015%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.471%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.383%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.775%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.863%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.383%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.635%"></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="21" 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:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" 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:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" 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%">October 2, 2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" 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%">September 26, 2020</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" 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%">October 2, 2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" 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%">September 26, 2020</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%">United States</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:left;vertical-align: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="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="i7a14c192c5bf450ca474d4f8328b23e5_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMi0zLTEtMS01NDUx_5fd97def-1d55-43f8-8798-c4964d4fc0ef">136,312</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;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:2px 1pt;text-align:left;vertical-align: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="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="ie81ab16379f9443d8ed0e4406fc75f60_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMi03LTEtMS01NDUx_0f0c0902-4a1e-4a58-8440-1ce28227d0f5">129,205</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;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:2px 1pt;text-align:left;vertical-align: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="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="i5866dd40f1274b219500edb6d9786f6c_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMi0xMS0xLTEtNTQ1MQ_681769d3-dea6-4d0f-953b-32bd89dfbd7a">414,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="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:2px 1pt;text-align:left;vertical-align: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="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="ie4327471603842a7bb37310fd67dc1d9_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMi0xNS0xLTEtNTQ1MQ_04a761c6-ce35-476b-aba3-df6fcbcae15b">326,063</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;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%">Americas ex U.S.</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i198b55b2686043a5978e2c543a05d85f_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMy0zLTEtMS0xNjcyOA_ee13292b-8c10-486a-9bf6-9394495abb76">11,800</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: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%"><ix:nonFraction unitRef="usd" contextRef="ie95bc8c1f34c42e288724708421461fe_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMy03LTEtMS0xNjcyOA_2004259b-cbae-484d-875f-ece563c4dc68">7,032</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: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%"><ix:nonFraction unitRef="usd" contextRef="i133345f892f3449db0ed646235039557_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMy0xMS0xLTEtMTY3Mjg_9d5e332d-b6f7-4d5d-bcee-603a0109817e">37,660</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: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%"><ix:nonFraction unitRef="usd" contextRef="i5a1282be7fc0436d93b71459914a311a_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMy0xNS0xLTEtMTY3Mjg_bb970791-82f8-4e16-a19c-c1773236a160">18,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></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="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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2d87fd78a3d04e82809ef72b8a10b1a4_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMy0zLTEtMS0xNjMwNw_ecac7879-9fe3-432a-8007-9f1cdcef4671">19,443</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:0 1pt"></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="i1170681e4f694ae4bbba3362fc1d8d8c_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMy03LTEtMS0xNjMxMQ_c9d04560-c657-43ab-9027-9c635a7629c8">9,183</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:0 1pt"></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="i2a2a6fe17ae248e09a7b2eaa62fd5a2d_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMy0xMS0xLTEtMTYzMTM_aba4baa1-ee9b-4e9f-a22f-5316f58885e6">32,701</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:0 1pt"></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="ib23281bfa7fe4317bcbd88a790b697b8_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMy0xNS0xLTEtMTYzMTU_67e42119-10be-4a98-a9da-54e0bf67cdc9">15,414</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></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%">Middle East &amp; Africa</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i961412cdc07a41a09e744a1d2eca7e10_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfNS0zLTEtMS0xNjMwNw_598102bd-8e90-4a42-8b7e-7d7e9e1d370f">3,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="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%"><ix:nonFraction unitRef="usd" contextRef="if5149a566e54487e87b55b262d0c5a5e_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfNS03LTEtMS0xNjMxMQ_df5a9350-f98f-45e5-919d-cdf4492aaf00">4,537</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: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%"><ix:nonFraction unitRef="usd" contextRef="i10b6afe9eecc499db6649e41ccea1223_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfNS0xMS0xLTEtMTYzMTM_357c13ad-87ed-451f-bcd5-6bf568b22a48">16,165</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: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%"><ix:nonFraction unitRef="usd" contextRef="ife74a1e870e84efe99f6b1692a620632_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfNS0xNS0xLTEtMTYzMTU_6a91bea7-8f93-46d0-82fc-2aa42e98805a">9,171</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></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%">Asia Pacific</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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i97b16fb9dbc44595b6cd18f71c7a989b_D20210704-20211002" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfNi0zLTEtMS0xNjMyMA_877e0c2c-2073-464f-9316-ad60d43d4a6f">771</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:0 1pt"></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="i1366de14943043b5a122c0f766d143ad_D20200628-20200926" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfNi03LTEtMS0xNjMyMA_066a13d1-01da-43e3-9b7d-08504ab4c3f6">551</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:0 1pt"></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="i0bb51a318bc34955b186c02803dc9114_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfNi0xMS0xLTEtMTYzMjA_ee7833a6-8bf8-476b-8904-e04a6063d4e6">2,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="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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie0883f68fdce446e8c70a7b9d3bbd714_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfNi0xNS0xLTEtMTYzMjA_01a15323-822a-486d-a33d-ea8343482b5b">1,596</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></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="3" style="background-color:#ffffff;border-bottom:3pt double #000000;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%">$</span></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%"><ix:nonFraction unitRef="usd" contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfOC0zLTEtMS01NDUx_613f5e62-8593-4a80-8da9-9cd1d1d21c92">172,231</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;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;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%">$</span></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%"><ix:nonFraction unitRef="usd" contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfOC03LTEtMS01NDUx_e8228b6a-28d2-46da-875b-1b2ec4090e27">150,508</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;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;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%">$</span></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%"><ix:nonFraction unitRef="usd" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfOC0xMS0xLTEtNTQ1MQ_78a3d369-fdce-451b-b295-341ea5cb6cd6">502,975</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;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;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%">$</span></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%"><ix:nonFraction unitRef="usd" contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfOC0xNS0xLTEtNTQ1MQ_9e00f7bf-5b1a-4489-b5c3-82948ed7adf1">371,213</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;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">15</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><ix:continuation id="i8f4b703c4279481bad88fdeba6001618"><div style="margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract Asset</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The primary contract asset is revenue recognized on professional services contracts where the services are transferred to the customer over time, which has yet to be billed, and is classified within accounts receivable. Amounts are billed in accordance with the agreed-upon contractual terms.&#160;The balance as of December&#160;31, 2020 was $<ix:nonFraction unitRef="usd" contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerAssetNet" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfOTU0_c488a3be-36cf-48ff-9c36-8f51da4b44a9">2.3</ix:nonFraction> million of which $<ix:nonFraction unitRef="usd" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-5" format="ixt:num-dot-decimal" name="calx:ContractwithCustomerAssetPriorPeriodNotRecognized" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfOTY2_f583a5ca-c955-498d-b3d0-c2075bfd620b">0.3</ix:nonFraction> million remained in the Company&#8217;s Condensed Consolidated Balance Sheet as of October&#160;2, 2021.&#160;The closing balance as of October&#160;2, 2021 was $<ix:nonFraction unitRef="usd" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerAssetNet" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMTA3NQ_47ea92c4-319c-4921-94aa-13533245104e">1.2</ix:nonFraction> million of which the Company expects to bill <ix:nonFraction unitRef="number" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="2" name="calx:ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMTExNQ_765742b4-42cd-4d33-93ce-727e3f6e449e">55</ix:nonFraction>% of the balance during the remainder of 2020. The decrease in the contract asset was driven by billings for past services and a reduction in expected cash collections on ongoing projects partially offset by additional unbilled work performed during the three months ended October&#160;2, 2021.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract Liability</span></div><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMzAzOA_e887fa30-0288-4f32-8c9c-f9d96ef797bb" escape="true"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenue consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><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.321%"></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:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.522%"></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="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%">October 2,<br/>2021</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%">December 31,<br/>2020</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%">Current:</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></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%">Products and services</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="i134e3c2252c1429188730b923ce77e2a_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfMi0yLTEtMS01NDUx_766f43b0-2b23-45ed-95e3-08b3d5c9bc8c">19,465</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="i7b7c56ad57e143b9900a9bfb2dba51b5_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfMi00LTEtMS01NDUx_39707367-ca8a-402f-9af7-ca89d74ebc5a">14,651</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%">Extended warranty</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="i45960e21adcf4d1587a8690228933975_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfMy0yLTEtMS01NDUx_d7871d9c-9ed5-4a94-97e3-49bf9ba7a426">4,752</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="ib89076c11da740c98fe91bb2c7dee146_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfMy00LTEtMS01NDUx_b2691a55-7890-46a8-b6a5-5196a83d0837">4,538</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 #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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfNC0yLTEtMS01NDUx_614d771e-1d82-4ee5-b6a7-190141ab2450">24,217</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfNC00LTEtMS01NDUx_a44afe5b-347b-4547-8d89-adc4aee289b9">19,189</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%">Long-term:</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></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%">Products and services</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="i134e3c2252c1429188730b923ce77e2a_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfNi0yLTEtMS01NDUx_66cc3b37-ac40-4a27-a6cd-c12f4ec4d13d">2,639</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="i7b7c56ad57e143b9900a9bfb2dba51b5_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfNi00LTEtMS01NDUx_712ee5db-11a2-4405-9733-1a7d4a10ecd4">1,879</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%">Extended warranty</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="i45960e21adcf4d1587a8690228933975_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfNy0yLTEtMS01NDUx_510df261-1241-4f7c-9ddd-71e140ee279f">18,929</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="ib89076c11da740c98fe91bb2c7dee146_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfNy00LTEtMS01NDUx_13113e04-ee36-4649-966c-66f727f73adc">18,025</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 #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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfOC0yLTEtMS01NDUx_04e602a9-618d-4cf1-8210-b421b9cce9d9">21,568</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfOC00LTEtMS01NDUx_f2f4d2ce-db68-4704-bdfa-c4e063d948ba">19,904</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: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="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfOS0yLTEtMS01NDUx_2070cb73-2f03-49e6-9600-f7e7470e5416">45,785</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="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfOS00LTEtMS01NDUx_9522b54f-40c4-43e0-84b0-93799a26116f">39,093</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><div style="margin-top:1pt"><span><br/></span></div><div style="margin-top:1pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The&#160;increase&#160;in the deferred revenue balance for the&#160;three and nine months ended&#160;October&#160;2, 2021&#160;is primarily driven by cash payments received or due in advance of satisfying the Company&#8217;s performance obligations offset by $<ix:nonFraction unitRef="usd" contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMTY3Mg_e03ed189-22d4-4853-a299-d14388dcb8db">8.6</ix:nonFraction>&#160;million&#160;and $<ix:nonFraction unitRef="usd" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMTY4MA_ad78a619-e2a4-4dfc-8fca-e2b9576cec03">17.1</ix:nonFraction>&#160;million of revenue recognized that was included in the deferred revenue balance at the beginning of each period, respectively.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue allocated to remaining performance obligations represents contract revenue that has not yet been recognized, which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods. This amount was $<ix:nonFraction unitRef="usd" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RevenueRemainingPerformanceObligation" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMjA0NQ_4f766800-64bb-4327-ba9d-732f1fb7ee6f">105.0</ix:nonFraction>&#160;million as of October&#160;2, 2021, and the Company expects to recognize <ix:nonFraction unitRef="number" contextRef="id3610bee06384aef802a6c37e5dcb5af_I20211002" decimals="3" name="us-gaap:RevenueRemainingPerformanceObligationPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMjA5NQ_ea041061-a32c-4eb4-9a61-380dacc29d38">34</ix:nonFraction>% of such revenue over the next 12 months and the remainder thereafter.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract Costs</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company capitalizes certain sales commissions related primarily to multi-year subscriptions and extended warranty support for which the expected amortization period is greater than one year. As of October&#160;2, 2021, the unamortized balance of deferred commissions was&#160;$<ix:nonFraction unitRef="usd" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:CapitalizedContractCostGross" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMjQ0MA_a66bf78c-5580-441b-b4fe-e7b57c44bdb2">4.0</ix:nonFraction> million.&#160;For the three and nine months ended October&#160;2, 2021, the amount of amortization was&#160;$<ix:nonFraction unitRef="usd" contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:CapitalizedContractCostAmortization" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMjUwMw_ec4e4832-fc96-459d-83d0-3150f7bd08b0">0.4</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:CapitalizedContractCostAmortization" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMjUxMA_cdbbe24d-aa89-4582-a118-2f4110c46f16">0.7</ix:nonFraction>&#160;million, respectively. There was <ix:nonFraction unitRef="usd" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="INF" format="ixt:fixed-zero" name="us-gaap:CapitalizedContractCostImpairmentLoss" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMjUzOA_650ff7de-88e1-464a-8c96-75f614924cbc"><ix:nonFraction unitRef="usd" contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="INF" format="ixt:fixed-zero" name="us-gaap:CapitalizedContractCostImpairmentLoss" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMjUzOA_8888b7bc-a06a-4e56-998b-a7c789972fc2">no</ix:nonFraction></ix:nonFraction> impairment loss in relation to the costs capitalized.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Concentration of Customer Risk</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">One customer, our only greater-than-10%-of-revenue customer, represented <ix:nonFraction unitRef="number" contextRef="i4780b123b7ca49ad991b6a42ed99f6a0_D20210704-20211002" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMTY0OTI2NzQ0NTk1Mw_a3882055-f431-4856-a07b-e4f2b0f9dd02">10</ix:nonFraction>% of the Company&#8217;s total revenue for the three months ended October&#160;2, 2021. No customer accounted for more than 10% of the Company&#8217;s total revenue for the nine months ended October&#160;2, 2021. Another customer, Lumen Technologies, Inc. (formerly CenturyLink, Inc.), our only greater-than-10%-of-revenue customer, represented <ix:nonFraction unitRef="number" contextRef="i139491e76a204d21a71a06b96c379ca9_D20200628-20200926" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMjc5MA_8e9f51f9-f1f0-43e1-991a-10e72f2295b2">12</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="i002f48457d0a4c93a0915821290e3354_D20200101-20200926" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMTY0OTI2NzQ0NTk2MA_cb886b70-019c-4a6f-b7e3-a439c1fa3922">14</ix:nonFraction>% of total revenue for three and nine months ended September&#160;26, 2020, respectively.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No customer represented more than 10% of the Company&#8217;s accounts receivable as of October&#160;2, 2021 or December&#160;31, 2020.</span></div></ix:continuation><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">16</span></div></div></div><div id="i5d41e0a2263341439e48bd03d8d3586a_64"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">10.  <ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:IncomeTaxDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RleHRyZWdpb246NjAzZDA5MTkwNTFmNDkwZjgyNDkxZDU2MDMxOTAzNWZfMjAxMw_3b3f3f59-eafa-4cd8-a9e5-4599b3f448e0" continuedAt="i44a315b90c0843f5909224232c64edaf" escape="true">Income Taxes</ix:nonNumeric></span></div><ix:continuation id="i44a315b90c0843f5909224232c64edaf"><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RleHRyZWdpb246NjAzZDA5MTkwNTFmNDkwZjgyNDkxZDU2MDMxOTAzNWZfMjAxNQ_a91ce4f9-833d-481a-95c8-63532821ed1e" escape="true"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents income taxes and the effective tax rates for the periods indicated (in thousands, except percentages):</span></div><div style="margin-top:5pt"><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.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></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:1.408%"></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:1.408%"></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:1.408%"></td><td style="width:0.1%"></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: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%">&#160;</span></td><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:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><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:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></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:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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%">September 26,<br/>2020</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%">October 2,<br/>2021</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%">September 26,<br/>2020</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%">Income taxes</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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RhYmxlOjNjMjU2OWNkODU5ODRlM2I5N2I4NmRiZjczZmUyNGJhL3RhYmxlcmFuZ2U6M2MyNTY5Y2Q4NTk4NGUzYjk3Yjg2ZGJmNzNmZTI0YmFfMi0yLTEtMS01NDUx_eefc8b3a-0e05-4770-a75f-8c66a1715038">159,982</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RhYmxlOjNjMjU2OWNkODU5ODRlM2I5N2I4NmRiZjczZmUyNGJhL3RhYmxlcmFuZ2U6M2MyNTY5Y2Q4NTk4NGUzYjk3Yjg2ZGJmNzNmZTI0YmFfMi00LTEtMS01NDUx_d020b24f-85bb-4c4f-b32b-a2a8f7624979">149</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" sign="-" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RhYmxlOjNjMjU2OWNkODU5ODRlM2I5N2I4NmRiZjczZmUyNGJhL3RhYmxlcmFuZ2U6M2MyNTY5Y2Q4NTk4NGUzYjk3Yjg2ZGJmNzNmZTI0YmFfMi02LTEtMS01NDUx_d54af962-c546-403d-803c-47c4fa45f292">159,625</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RhYmxlOjNjMjU2OWNkODU5ODRlM2I5N2I4NmRiZjczZmUyNGJhL3RhYmxlcmFuZ2U6M2MyNTY5Y2Q4NTk4NGUzYjk3Yjg2ZGJmNzNmZTI0YmFfMi04LTEtMS01NDUx_2077c48d-ccf9-4956-8029-ef1b46a78d7d">626</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%">Effective tax rate</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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="3" sign="-" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RhYmxlOjNjMjU2OWNkODU5ODRlM2I5N2I4NmRiZjczZmUyNGJhL3RhYmxlcmFuZ2U6M2MyNTY5Y2Q4NTk4NGUzYjk3Yjg2ZGJmNzNmZTI0YmFfMy0yLTEtMS01NDUx_511d22dd-ef53-4099-ae04-107fbf65495f">917.2</ix:nonFraction>)</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%"><ix:nonFraction unitRef="number" contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="3" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RhYmxlOjNjMjU2OWNkODU5ODRlM2I5N2I4NmRiZjczZmUyNGJhL3RhYmxlcmFuZ2U6M2MyNTY5Y2Q4NTk4NGUzYjk3Yjg2ZGJmNzNmZTI0YmFfMy00LTEtMS01NDUx_dab22bce-d18c-42bf-b7a1-a00f7310a479">0.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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="3" sign="-" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RhYmxlOjNjMjU2OWNkODU5ODRlM2I5N2I4NmRiZjczZmUyNGJhL3RhYmxlcmFuZ2U6M2MyNTY5Y2Q4NTk4NGUzYjk3Yjg2ZGJmNzNmZTI0YmFfMy02LTEtMS01NDUx_86408322-d417-4c72-95be-1a28c9e8b2cc">271.1</ix:nonFraction>)</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%"><ix:nonFraction unitRef="number" contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="3" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RhYmxlOjNjMjU2OWNkODU5ODRlM2I5N2I4NmRiZjczZmUyNGJhL3RhYmxlcmFuZ2U6M2MyNTY5Y2Q4NTk4NGUzYjk3Yjg2ZGJmNzNmZTI0YmFfMy04LTEtMS01NDUx_95b20c17-c358-4576-b487-9d679ac3d104">6.3</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></tr></table></div></ix:nonNumeric><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s income taxes for the nine months ended October 2, 2021 and September 26, 2020 was determined using an estimated effective tax rate adjusted for discrete items that occurred during the respective periods. The income tax benefit for the nine months ended October 2, 2021 was primarily due to the release of the valuation allowance on certain U.S. federal and state deferred tax assets and, to a lesser degree, benefits related to stock-based compensation and income taxes related to various states and profitable subsidiaries. For the nine months ended September 26, 2020, the tax expense was primarily related to the foreign tax provision.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has net deferred tax assets that have arisen primarily as a result of temporary differences, net operating loss carryforwards and tax credits. The Company&#8217;s ability to realize a deferred tax asset is based on its ability to generate sufficient future taxable income within the applicable carryforward period and subject to any applicable limitations.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A valuation allowance is required when, based upon an assessment of various factors, including recent operating loss history, anticipated future earnings, and prudent and reasonable tax planning strategies, it is more likely than not that some portion of the deferred tax assets will not be realized. At each reporting period, the Company assesses the estimated future realizability of the gross carrying value of its deferred tax assets. The Company&#8217;s periodic assessments take into consideration both positive evidence (future profitability projections for example and recent financial performance) and negative evidence (historical financial performance for example) as it relates to evaluating the future recoverability of its deferred tax assets. During the third quarter of 2021, the Company recognized an income tax benefit of $<ix:nonFraction unitRef="usd" contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-5" sign="-" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RleHRyZWdpb246NjAzZDA5MTkwNTFmNDkwZjgyNDkxZDU2MDMxOTAzNWZfMTY0OTI2NzQ1NDc0Mw_3b25055d-f756-4a6e-b2f6-84101764d81f">162.0</ix:nonFraction>&#160;million offset by current income taxes, based on management&#8217;s reassessment of the amount of its U.S. federal and other state deferred tax assets that are more likely than not to be realized, primarily as a result of actual and projected increases in U.S. profitability in the current and future periods. In performing its analysis, the Company used the most updated plans and estimates that it currently uses to manage the underlying business and calculated the ability to utilize its deferred tax assets. The Company continues to maintain a valuation allowance of $<ix:nonFraction unitRef="usd" contextRef="ib4194844b22648f788a74d13c0226609_I20211002" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RleHRyZWdpb246NjAzZDA5MTkwNTFmNDkwZjgyNDkxZDU2MDMxOTAzNWZfMTY0OTI2NzQ1NDc1OQ_5faf79f6-57fa-4428-ba00-6ae9b3911c9e">28.7</ix:nonFraction>&#160;million on certain U.S. federal and state deferred tax assets that the Company believes are not more likely than not to be realized in future periods.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company considers scheduled reversals of deferred tax liabilities, projected future taxable income, ongoing tax planning strategies and other matters, including the period over which its deferred tax assets will be recoverable, in assessing the need for and the amount of the valuation allowance. In the event that actual results differ from these estimates, or if the Company decides to adjust these estimates in the future periods, further adjustments to its valuation allowance may be recorded, which could materially impact the Company&#8217;s financial position and net income in the period of the adjustment.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 26, 2020, the total expense was primarily related to foreign activity. In 2020, based on a review of the positive and negative evidence, management concluded that the deferred tax assets were not more likely to be realized which resulted in an immaterial domestic provision as the deferred tax assets were fully offset with the valuation allowance.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s income taxes may be subject to fluctuation during the year and in future years as new information is obtained, which may affect the assumptions used to estimate the annual effective tax rate including factors as actual results differing from its estimates of pre-tax earnings in the various jurisdictions in which the Company operates, which could impact the recognition of its deferred tax assets, the recognition or de-recognition of tax benefits related to uncertain tax positions and changes in or the interpretation of tax laws in jurisdictions where the Company conducts business.</span></div></ix:continuation><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">17</span></div></div></div><div id="i5d41e0a2263341439e48bd03d8d3586a_67"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">11.  <ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:EarningsPerShareTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RleHRyZWdpb246MmE1YWRjY2NhYzY5NGI5Nzg4YjQzYjZmZjdjNjU1Y2ZfNjgy_884cbacf-daf0-4c4c-8ff6-5a761c6961c0" continuedAt="i23135bf5ed6a47b5a915c6d3cea06223" escape="true">Net Income Per Common Share</ix:nonNumeric></span></div><ix:continuation id="i23135bf5ed6a47b5a915c6d3cea06223"><ix:nonNumeric contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RleHRyZWdpb246MmE1YWRjY2NhYzY5NGI5Nzg4YjQzYjZmZjdjNjU1Y2ZfNjY3_d4dd544e-954f-4d46-b3eb-ca17d8947301" escape="true"><div style="margin-top:6pt"><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 the computation of basic and diluted net income per common share for the periods indicated (in thousands, except per share data):</span></div><div style="margin-top:5pt"><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:41.005%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.115%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.911%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.115%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.911%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.911%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.916%"></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:400;line-height:100%">&#160;</span></td><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:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><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:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></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:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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%">September 26,<br/>2020</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%">October 2,<br/>2021</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%">September 26,<br/>2020</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%">Numerator:</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 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%">Net income</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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMy0yLTEtMS01NDUx_97124708-bf70-4eba-a710-4b8efa98f7ad">177,424</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMy00LTEtMS01NDUx_db29d3f7-7bce-4750-a7fe-a9c7e0a7265a">20,538</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMy02LTEtMS01NDUx_17b53d35-dd95-4a4b-a990-df2c320f3e6a"><ix:nonFraction unitRef="usd" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMy02LTEtMS01NDUx_672cd548-32ae-4223-80e0-5c5ee8b49cdd">218,497</ix:nonFraction></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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMy04LTEtMS01NDUx_9093ae9e-f786-434c-be31-121c3bba3c45"><ix:nonFraction unitRef="usd" contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMy04LTEtMS01NDUx_fb354542-deda-4884-8856-801e625357b2">9,382</ix:nonFraction></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%">Denominator:</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 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%">Weighted-average common shares outstanding used to compute basic net income per share</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="shares" contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNS0yLTEtMS01NDUx_b71d34cf-0544-41a8-b977-6768fb69d959">63,588</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNS00LTEtMS01NDUx_166438bc-d1a7-4736-a2b6-f24cb292f142">60,307</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNS02LTEtMS01NDUx_1ca50b44-c676-4986-afd6-c5c431a509ee">63,057</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNS04LTEtMS01NDUx_f2334189-0f9c-45ef-a508-30ca34f6ec52">58,053</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%">Effect of dilutive common stock equivalents</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="shares" contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNi0yLTEtMS01NDUx_f1be9cd2-0308-4961-a114-6084db9370da">4,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="shares" contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNi00LTEtMS01NDUx_e3f1b398-f73a-4917-b0cb-e5ac01f377ef">3,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="shares" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNi02LTEtMS01NDUx_853ddbe8-d8d5-43e9-98ee-341c8c6d21cf">4,480</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="shares" contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNi04LTEtMS01NDUx_b63c6454-635f-4f13-a34d-53b00143b7ac">2,278</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%">Weighted-average common shares outstanding used to compute diluted net income per share</span></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="shares" contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNy0yLTEtMS01NDUx_222b5804-1b71-4ac0-8701-9aeb4eb0973a">67,907</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="shares" contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNy00LTEtMS01NDUx_1fa9470e-edaf-40b8-be90-b13c4f39279c">63,449</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="shares" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNy02LTEtMS01NDUx_9e7f0cdc-8390-414f-a87d-120816122a5a">67,537</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="shares" contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNy04LTEtMS01NDUx_604d67ef-1040-4ef9-9f17-e365cea9f743">60,331</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%">Net income per common share:</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 #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;text-align: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 net income per common share</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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfOS0yLTEtMS01NDUx_78520ae8-f227-4be9-ba7a-828d2c9dfbbe">2.79</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="usdPerShare" contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfOS00LTEtMS01NDUx_cb160741-a772-465d-9d55-3d5afdb98d54">0.34</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="usdPerShare" contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfOS02LTEtMS01NDUx_83ed5355-e3ef-4061-8729-0f825a168b6a">3.47</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="usdPerShare" contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfOS04LTEtMS01NDUx_5f13499c-4041-4503-a8b5-fe11fff96fec">0.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:400;line-height:100%">Diluted net income per common share</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="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMTAtMi0xLTEtNTQ1MQ_36a9e131-75e3-4c30-bb8e-cea92a105d9b">2.61</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMTAtNC0xLTEtNTQ1MQ_96b6e8ca-ebab-4a9e-9fff-97784b0ed468">0.32</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMTAtNi0xLTEtNTQ1MQ_13ec1e6a-8ea1-48e9-b6de-6c37dc298f17">3.24</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMTAtOC0xLTEtNTQ1MQ_7f1444e6-1611-4d85-b8e1-a90a78f69899">0.16</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%">Potentially dilutive shares, weighted average</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="shares" contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMTEtMi0xLTEtNTQ1MQ_4b622b16-d70d-4a32-98ec-0f8ba93e5ac6">1,224</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="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMTEtNC0xLTEtNTQ1MQ_33c851bd-c4bc-42df-b269-83c7f4f9eac1">169</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="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMTEtNi0xLTEtNTQ1MQ_768f0d06-e5da-4b60-bfce-aa5497feeae1">908</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="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMTEtOC0xLTEtNTQ1MQ_187616ef-9757-4758-92aa-cc7e2f1f3b64">579</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Potentially dilutive shares have been excluded from the computation of diluted net income per common share when their effect is antidilutive. These antidilutive shares were from stock options.</span></div></ix:continuation><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">18</span></div></div></div><div id="i5d41e0a2263341439e48bd03d8d3586a_70"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:18pt;padding-left:36pt;text-indent:-36pt"><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-weight:700;line-height:120%;padding-left:35.36pt">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">This report includes &#8220;forward-looking statements&#8221; within the meaning of Section&#160;27A of the Securities Act and Section&#160;21E of the Securities and Exchange Act of 1934, as amended, or the Exchange Act. All statements other than statements of historical facts are &#8220;forward-looking statements&#8221; for purposes of these provisions, including any projections of earnings, revenue or other financial items, any statement of or concerning the following: the plans and objectives of management for future operations, proposed new products or licensing, product development, anticipated customer demand or capital expenditures, anticipated growth and trends in our business and industry, future economic and/or market conditions or performance and assumptions underlying any of the above. In some cases, forward-looking statements can be identified by the use of terminology such as &#8220;could,&#8221; &#8220;may,&#8221; &#8220;will,&#8221; &#8220;would,&#8221; &#8220;expects,&#8221; &#8220;believes,&#8221; &#8220;intends,&#8221; &#8220;plans,&#8221; &#8220;anticipates,&#8221; &#8220;estimates,&#8221; &#8220;projects,&#8221; &#8220;predicts,&#8221; &#8220;potential,&#8221; or &#8220;continue&#8221; or the negative thereof or other comparable terminology. Readers are cautioned that these forward-looking statements are only predictions and are subject to risks, uncertainties and assumptions that are difficult to predict. Although we believe that the expectations reflected in the forward-looking statements contained herein are reasonable, there can be no assurance that such expectations or any of the forward-looking statements will prove to be correct, and actual results could differ materially from those projected or assumed in the forward-looking statements. Our future financial condition and results of operations, as well as any forward-looking statements, are subject to inherent risks and uncertainties, including those identified in the Risk Factors discussed in Part II, Item&#160;1A, of this report on Form 10-Q, as well as in other sections of this report and in our Annual Report on Form 10-K for the year ended December&#160;31, 2020. All forward-looking statements and reasons why results may differ included in this Quarterly Report on Form 10-Q are made as of the date hereof, and we assume no obligation to update these forward-looking statements or reasons why actual results might differ.</span></div><div id="i5d41e0a2263341439e48bd03d8d3586a_73"></div><div style="margin-top:12pt"><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="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are the leading global provider of cloud and software platforms, systems and services that focus on the access network, the portion of the network that governs available bandwidth and determines the range and quality of services that can be offered to subscribers. These cloud and software platforms enable broadband service providers, or BSPs, of all types and sizes to innovate and transform their businesses. Our BSP customers are empowered to utilize real-time data and insights from Calix platforms to simplify their businesses and deliver experiences that excite their subscribers. These insights enable BSPs to grow their brand through increased subscriber acquisition, loyalty and revenue and to reduce their operating costs, thereby increasing the value of their businesses and contributions to their communities.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We market our cloud and software platforms, systems and services to BSPs globally through our direct sales force as well as select resellers. Our customers range from smaller, regional BSPs to some of the world&#8217;s largest BSPs. We have enabled approximately 1,600 BSP customers purchasing directly and through partners to deploy passive optical, Active Ethernet and point-to-point Ethernet fiber access networks.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our revenue and potential revenue growth will depend on our ability to sell and license our cloud and software platforms, systems and services to strategically aligned customers of all types such as wireless internet service providers, fiber overbuilders, cable MSOs, municipalities and electric cooperatives in the United States and internationally. Our growth is also highly dependent on the speed and willingness of customers to adopt these platforms.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue fluctuations result from many factors, including, but not limited to: increases or decreases in customer orders for our products and services, market, financial or other factors that may delay or materially impact customer purchasing decisions, non-availability of products due to supply chain challenges, including component and labor shortages and increasing lead times as well as disruptions as a result of the COVID-19 pandemic, contractual terms with customers that result in delayed revenue recognition and varying budget cycles and seasonal buying patterns of our customers. More specifically, our customers tend to spend less in the first quarter as they are finalizing their annual budgets, and in certain regions, customers are challenged by winter weather conditions that inhibit fiber deployment in outside infrastructure. Our revenue is also dependent upon our customers&#8217; timing of purchases, capital expenditure plans and decisions to upgrade their network or adopt new technologies, including adoption of our software and cloud platform solutions, as well as our ability to grow our customer base.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue is strongly correlated to revenue and tends to fluctuate due to all of the above factors that may cause revenue fluctuations. Factors that impacted our cost of revenue for the three and nine months ended October&#160;2, 2021, and that we expect will impact cost of revenue in future periods, also include: changes in the mix of products delivered, customer location and regional mix, changes in the cost of our inventory, including higher costs due to materials shortages including components, supply constraints or unfavorable changes in trade policies, investments to support expansion of cloud and customer support offerings as well as our customer success organization, changes in product warranty and incurrence of retrofit costs, amortization of intangibles, asset write-offs, support fees for silicon-related development work for our products and inventory write-downs. Given the ongoing supply chain disruptions related to component shortages, longer lead times as a result of increased global demand for certain components and disruptions and related to the COVID-19 pandemic, we see continued product supply delays and related challenges, which we expect to persist in the foreseeable future. Similarly, challenges in </span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">19</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">supply chain logistics have persisted due to greater global demand for transport services as well as labor shortages and resulted in increases in our global freight charges as we have elected to ship by air in order to meet delivery commitments to our customers and as air freight rates have increased from prior year levels. Cost of revenue also includes fixed expenses related to our internal operations, which could increase our cost of revenue as a percentage of revenue if our revenue declines.</span></div><div style="margin-top:6pt"><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 fluctuate based on timing of factors such as changes in customer mix and changes in the mix of products demanded and sold (and any related write-downs of existing inventory) and have in the past been negatively impacted by increases in mix of revenue from channel sales rather than direct sales or other unfavorable customer or product mix, shipment volumes and any related volume discounts, changes in our product and services costs, pricing decreases or discounts, new product introductions or upgrades to existing products, customer rebates and incentive programs due to competitive pressure or materials shortages, supply constraints, investments to support expansion of cloud and customer support offerings, tariffs or unfavorable changes in trade policies.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our operating expenses fluctuate based on the following factors among others: changes in headcount and personnel costs, which comprise a significant portion of our operating expenses; variable compensation due to fluctuations in shipment volumes or level of achievement against performance targets; timing of research and development expenses, including investments in innovative solutions and new customer segments, prototype builds and outsourced development resources; investments in marketing programs; asset write-offs; investments in our business and information technology infrastructure; and fluctuations in stock-based compensation expenses due to timing of equity grants or other factors affecting vesting.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the third quarter of 2021, we recognized a discrete tax benefit of $162.0 million based on our reassessment of the amount of our U.S. federal and state deferred tax assets that are more likely than not to be realized, primarily as a result of actual and projected increases in U.S. profitability in the current and future periods.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Further, as a result of factors contributing to the fluctuations described above among other factors, many of which are outside our control, our quarterly operating results fluctuate from period to period. Comparing our operating results on a period-to-period basis may not be meaningful, and you should not rely on our past results as an indication of our future performance.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">COVID-19 Pandemic</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are subject to risks and uncertainties as a result of the COVID-19 pandemic. The extent of the impact of the COVID-19 pandemic on our business is highly uncertain and difficult to predict, particularly as variants of the coronavirus continue to spread around the world. In March 2020, we instituted office closures, travel restrictions and a work-from-anywhere policy for substantially all our employees due to shelter-in-place mandates. In July 2021, we reopened our U.S. offices to fully-vaccinated employees, who choose to work in the office, and visitors as well as lifted certain travel restrictions. The spread of COVID-19 has had a prolonged impact on our supply chain operations due to restrictions, reduced capacity and limited availability from suppliers on whom we rely for sourcing components and materials and from third-party partners on whom we rely for manufacturing, warehousing and logistics services. Although demand for our products has been strong in the short-term as subscribers seek more bandwidth and better Wi-Fi, customers&#8217; purchasing decisions over the long-term may be impacted by the pandemic and its impact on the economy, which could in turn impact our revenue and results of operations. Furthermore, our supply chain continues to face constraints primarily due to challenges in sourcing components and materials and managing global logistics and transport services for our products due to shortages and delays. The prolonged impact of COVID-19 could exacerbate these constraints or cause further supply chain disruptions.</span></div><div id="i5d41e0a2263341439e48bd03d8d3586a_76"></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Critical Accounting Policies and Estimates</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our financial statements are prepared in accordance with U.S. GAAP. These accounting principles require us to make certain estimates and judgments that can affect the reported amounts of assets and liabilities as of the date of the financial statements, as well as the reported amounts of revenue and expenses during the periods presented. Management bases its estimates, assumptions and judgments on historical experience and on various other factors that are believed to be reasonable under the circumstances. To the extent there are material differences between these estimates and actual results, our financial statements may be affected. Our management evaluates its estimates, assumptions and judgments on an ongoing basis.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our critical accounting policies and estimates, which are revenue recognition and inventory valuation, are described under &#8220;Critical Accounting Policies and Estimates&#8221; in &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations&#8221; included in our Annual Report on Form 10-K for the year ended December&#160;31, 2020.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the third quarter of 2021, we recognized an income tax benefit of $<ix:nonFraction unitRef="usd" contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002" decimals="-5" sign="-" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV83Ni9mcmFnOmUxNDgyNmQwMDhkODRkN2I5YTAzZjEzZTljMzBlNmViL3RleHRyZWdpb246ZTE0ODI2ZDAwOGQ4NGQ3YjlhMDNmMTNlOWMzMGU2ZWJfMTA5OTUxMTYyOTUwMg_3b25055d-f756-4a6e-b2f6-84101764d81f">162.0</ix:nonFraction>&#160;million offset by current income taxes, based on our reassessment of the amount of our U.S. federal and other state deferred tax assets that are more likely than not to be realized, primarily as a result of actual and projected increases in U.S. profitability in the current and future periods. As a result, we determined that the following policy is a critical accounting policy and estimate:</span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">20</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Taxes</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We evaluate our tax positions and estimate our current tax exposure along with assessing temporary differences that result from different book to tax treatment of items not currently deductible for tax purposes. These differences result in deferred tax assets and liabilities on our Consolidated Balance Sheets, which are estimated based upon the difference between the financial statement and tax bases of assets and liabilities using the enacted tax rates that will be in effect when these differences reverse. In general, deferred tax assets represent future tax benefits to be received when certain expenses previously recognized in our Consolidated Statements of Comprehensive Income become deductible expenses under applicable income tax laws or loss or credit carryforwards are utilized. Accordingly, realization of our deferred tax assets is dependent on future taxable income against which these deductions, losses and credits can be utilized.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We must assess the likelihood that our deferred tax assets will be recovered from future taxable income, and to the extent we believe that recovery is not more likely than not, we must establish a valuation allowance. Management judgment is required in determining our provision for income taxes, our deferred tax assets and liabilities and any valuation allowance recorded against our net deferred tax assets. Prior to the third quarter of 2021, we maintained a 100% valuation allowance against all deferred tax assets, because there was insufficient positive evidence to overcome the existing negative evidence, primarily consisting of several years of consecutive reported pre-tax losses, such that it was not more likely than not that the deferred tax assets were realizable. In the third quarter of 2021, we had reported positive operating performance for five consecutive quarters and continued to maintain a cumulative three-year pre-tax profit. In addition, we expect continued positive operating performance into the foreseeable future to allow for utilization of all operating loss and substantially all tax credit carryforwards prior to their expiration. After considering these factors, we determined that the positive evidence overcame any negative evidence and concluded that it was more likely than not that a substantial portion of our U.S. federal and certain other state deferred tax assets were realizable. We currently maintain a valuation allowance of $28.7 million for certain U.S. federal and California state deferred tax assets.  </span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other than the change above, there have been no significant changes in our critical accounting policies and estimates for the nine months ended October&#160;2, 2021.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Recent Accounting Pronouncements</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no additional accounting pronouncements or changes in accounting pronouncements during the nine months ended October&#160;2, 2021 as compared to the recent accounting pronouncements described in our Annual Report on Form 10-K for the year ended December&#160;31, 2020 that are significant or potentially significant to us.</span></div><div id="i5d41e0a2263341439e48bd03d8d3586a_79"></div><div style="margin-top:12pt"><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="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Comparison of the Three and Nine Months Ended October&#160;2, 2021 and September&#160;26, 2020</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue</span></div><div style="margin-top:6pt"><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 revenue (dollars in thousands):</span></div><div style="margin-top:5pt"><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:15.859%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></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:1.408%"></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:1.408%"></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:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.356%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></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:1.408%"></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:1.408%"></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:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.361%"></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:7pt;font-weight:400;line-height:100%">&#160;</span></td><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:7pt;font-weight:700;line-height:100%">Three Months Ended</span></td><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:7pt;font-weight:700;line-height:100%">Nine Months Ended</span></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:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:6pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Dollars</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Percent</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:6pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:6pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Dollars</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Percent</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:8pt;font-weight:400;line-height:100%">Revenue:</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><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 12.25pt;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%">Systems</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:8pt;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:8pt;font-weight:400;line-height:100%">163,076&#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:8pt;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:8pt;font-weight:400;line-height:100%">142,294&#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:8pt;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:8pt;font-weight:400;line-height:100%">20,782&#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:8pt;font-weight:400;line-height:100%">15&#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:8pt;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:8pt;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:8pt;font-weight:400;line-height:100%">475,931&#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:8pt;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:8pt;font-weight:400;line-height:100%">347,644&#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:8pt;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:8pt;font-weight:400;line-height:100%">128,287&#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:8pt;font-weight:400;line-height:100%">37&#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:8pt;font-weight:400;line-height:100%">%</span></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:8pt;font-weight:400;line-height:100%">Services</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:8pt;font-weight:400;line-height:100%">9,155&#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:8pt;font-weight:400;line-height:100%">8,214&#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:8pt;font-weight:400;line-height:100%">941&#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:8pt;font-weight:400;line-height:100%">11&#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:8pt;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:8pt;font-weight:400;line-height:100%">27,044&#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:8pt;font-weight:400;line-height:100%">23,569&#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:8pt;font-weight:400;line-height:100%">3,475&#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:8pt;font-weight:400;line-height:100%">15&#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:8pt;font-weight:400;line-height:100%">%</span></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 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:8pt;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:8pt;font-weight:400;line-height:100%">172,231&#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:8pt;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:8pt;font-weight:400;line-height:100%">150,508&#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:8pt;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:8pt;font-weight:400;line-height:100%">21,723&#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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">14&#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:8pt;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-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:8pt;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:8pt;font-weight:400;line-height:100%">502,975&#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:8pt;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:8pt;font-weight:400;line-height:100%">371,213&#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:8pt;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:8pt;font-weight:400;line-height:100%">131,762&#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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">35&#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:8pt;font-weight:400;line-height:100%">%</span></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;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;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;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:8pt;font-weight:400;line-height:100%">Percent of total revenue:</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><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:8pt;font-weight:400;line-height:100%">Systems</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:8pt;font-weight:400;line-height:100%">95&#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:8pt;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:8pt;font-weight:400;line-height:100%">95&#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:8pt;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"></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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">95&#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:8pt;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:8pt;font-weight:400;line-height:100%">94&#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:8pt;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"></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:8pt;font-weight:400;line-height:100%">Services</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:8pt;font-weight:400;line-height:100%">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:8pt;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:8pt;font-weight:400;line-height:100%">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:8pt;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><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:8pt;font-weight:400;line-height:100%">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:8pt;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:8pt;font-weight:400;line-height:100%">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:8pt;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="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-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:8pt;font-weight:400;line-height:100%">100&#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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;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 #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:8pt;font-weight:400;line-height:100%">100&#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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;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"></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="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:8pt;font-weight:400;line-height:100%">100&#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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;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 #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:8pt;font-weight:400;line-height:100%">100&#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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our revenue increased by $21.7 million and $131.8 million for the three and nine months ended October&#160;2, 2021, respectively, as compared to the corresponding periods in 2020 mostly due to higher systems revenue of $20.8 million and $128.3 million, as compared to the corresponding periods in 2020. Services revenue increased by $0.9 million and $3.5 million compared to the corresponding periods in 2020. The increase in systems revenue was primarily due to higher revenue from our small, regional customers and, to a lesser extent, our medium-sized customers, as service providers adopt our All Platform offerings and seek </span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">21</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">to provide a better Wi-Fi experience, partially offset by a decrease in revenue to large customers. The increase in services revenue was due to the continued ramp in our service offerings aligned with cloud and software products for our customers.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three and nine months ended October&#160;2, 2021, revenue generated in the United States was $136.3 million and $414.2 million, or 79% and 82% of our total revenue, respectively, compared to $129.2 million and $326.1 million, or 86% and 88% of our total revenue, respectively, for the same periods in 2020. International revenue was $35.9 million and $88.7 million, or 21% and 18% of our total revenue, respectively, for the three and nine months ended October&#160;2, 2021, as compared to $21.3 million and $45.2 million, or 14% and 12% of our total revenue, respectively, for the same periods in 2020.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">One customer represented 10% of our total revenue for the three months ended October&#160;2, 2021. No customer accounted for more than 10% of our total revenue for the nine months ended October&#160;2, 2021. Another customer, Lumen Technologies, Inc. (formerly CenturyLink, Inc.), accounted for more than 10% of our total revenue, representing 12% and 14% of our total revenue for the three and nine months ended September&#160;26, 2020, respectively.</span></div><div style="margin-top:12pt"><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 Revenue, Gross Profit and Gross Margin</span></div><div style="margin-top:6pt"><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 cost of revenue (dollars in thousands):</span></div><div style="margin-top:5pt"><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:15.859%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></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:1.408%"></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:1.408%"></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:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.356%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></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:1.408%"></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:1.408%"></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:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.361%"></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="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:7pt;font-weight:700;line-height:100%">Three Months Ended</span></td><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:7pt;font-weight:700;line-height:100%">Nine 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="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:6pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:6pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Dollars</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Percent</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:6pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:6pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Dollars</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Percent</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:8pt;font-weight:400;line-height:100%">Cost of revenue:</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><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 12.25pt;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%">Systems</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:8pt;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:8pt;font-weight:400;line-height:100%">76,339&#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:8pt;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:8pt;font-weight:400;line-height:100%">68,889&#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:8pt;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:8pt;font-weight:400;line-height:100%">7,450&#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:8pt;font-weight:400;line-height:100%">11&#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:8pt;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:8pt;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:8pt;font-weight:400;line-height:100%">218,675&#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:8pt;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:8pt;font-weight:400;line-height:100%">176,318&#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:8pt;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:8pt;font-weight:400;line-height:100%">42,357&#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:8pt;font-weight:400;line-height:100%">24&#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:8pt;font-weight:400;line-height:100%">%</span></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:8pt;font-weight:400;line-height:100%">Services</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:8pt;font-weight:400;line-height:100%">6,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:8pt;font-weight:400;line-height:100%">5,644&#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:8pt;font-weight:400;line-height:100%">755&#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:8pt;font-weight:400;line-height:100%">13&#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:8pt;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:8pt;font-weight:400;line-height:100%">18,946&#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:8pt;font-weight:400;line-height:100%">16,891&#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:8pt;font-weight:400;line-height:100%">2,055&#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:8pt;font-weight:400;line-height:100%">12&#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:8pt;font-weight:400;line-height:100%">%</span></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 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:8pt;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:8pt;font-weight:400;line-height:100%">82,738&#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:8pt;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:8pt;font-weight:400;line-height:100%">74,533&#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:8pt;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:8pt;font-weight:400;line-height:100%">8,205&#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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">11&#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:8pt;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:8pt;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:8pt;font-weight:400;line-height:100%">237,621&#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:8pt;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:8pt;font-weight:400;line-height:100%">193,209&#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:8pt;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:8pt;font-weight:400;line-height:100%">44,412&#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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">23&#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:8pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our cost of revenue increased by $8.2 million and $44.4 million for the three and nine months ended October&#160;2, 2021, respectively, as compared with the corresponding periods in 2020. The $7.5 million and $42.4 million increases in our systems cost of revenue were less than the percentage increase in revenue compared with the corresponding periods in 2020. This was due to continued growth in our All Platform offerings along with favorable customer and product mix, the increasing spread between fixed costs in relation to revenue growth and a refund for previously paid U.S. import tariffs due to the subsequent export of tariffed products. This was partially offset by increased costs due to higher prices for transportation and components  due to shortages. The increase in services cost of revenue for the three and nine months ended October&#160;2, 2021 compared with the corresponding periods in 2020 was mainly due to increased personnel costs as we made further investments in our customer success organization.</span></div><div style="margin-top:6pt"><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 gross profit and gross margin (dollars in thousands):</span></div><div style="margin-top:5pt"><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:15.859%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></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:1.408%"></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:1.408%"></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:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.356%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></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:1.408%"></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:1.408%"></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:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.361%"></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="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:7pt;font-weight:700;line-height:100%">Three Months Ended</span></td><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:7pt;font-weight:700;line-height:100%">Nine 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="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:6pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:6pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Dollars</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Percent</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:6pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:6pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Dollars</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Percent</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:8pt;font-weight:400;line-height:100%">Gross profit:</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><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 12.25pt;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%">Systems</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:8pt;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:8pt;font-weight:400;line-height:100%">86,737&#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:8pt;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:8pt;font-weight:400;line-height:100%">73,405&#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:8pt;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:8pt;font-weight:400;line-height:100%">13,332&#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:8pt;font-weight:400;line-height:100%">18&#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:8pt;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:8pt;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:8pt;font-weight:400;line-height:100%">257,256&#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:8pt;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:8pt;font-weight:400;line-height:100%">171,326&#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:8pt;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:8pt;font-weight:400;line-height:100%">85,930&#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:8pt;font-weight:400;line-height:100%">50&#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:8pt;font-weight:400;line-height:100%">%</span></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:8pt;font-weight:400;line-height:100%">Services</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:8pt;font-weight:400;line-height:100%">2,756&#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:8pt;font-weight:400;line-height:100%">2,570&#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:8pt;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="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:8pt;font-weight:400;line-height:100%">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:8pt;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:8pt;font-weight:400;line-height:100%">8,098&#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:8pt;font-weight:400;line-height:100%">6,678&#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:8pt;font-weight:400;line-height:100%">1,420&#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:8pt;font-weight:400;line-height:100%">21&#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:8pt;font-weight:400;line-height:100%">%</span></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 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:8pt;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:8pt;font-weight:400;line-height:100%">89,493&#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:8pt;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:8pt;font-weight:400;line-height:100%">75,975&#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:8pt;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:8pt;font-weight:400;line-height:100%">13,518&#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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">18&#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:8pt;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-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:8pt;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:8pt;font-weight:400;line-height:100%">265,354&#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:8pt;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:8pt;font-weight:400;line-height:100%">178,004&#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:8pt;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:8pt;font-weight:400;line-height:100%">87,350&#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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">49&#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:8pt;font-weight:400;line-height:100%">%</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:8pt;font-weight:400;line-height:100%">Gross margin:</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 #000000;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;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;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:8pt;font-weight:400;line-height:100%">Systems</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:8pt;font-weight:400;line-height:100%">53.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:8pt;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:8pt;font-weight:400;line-height:100%">51.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:8pt;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><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:8pt;font-weight:400;line-height:100%">54.1&#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:8pt;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:8pt;font-weight:400;line-height:100%">49.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:8pt;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="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:8pt;font-weight:400;line-height:100%">Services</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:8pt;font-weight:400;line-height:100%">30.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:8pt;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:8pt;font-weight:400;line-height:100%">31.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:8pt;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"></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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">29.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:8pt;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:8pt;font-weight:400;line-height:100%">28.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:8pt;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"></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:8pt;font-weight:400;line-height:100%">Overall</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:8pt;font-weight:400;line-height:100%">52.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:8pt;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:8pt;font-weight:400;line-height:100%">50.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:8pt;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><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:8pt;font-weight:400;line-height:100%">52.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:8pt;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:8pt;font-weight:400;line-height:100%">48.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:8pt;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></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross profit increased to $89.5 million and $265.4 million for the three and nine months ended October&#160;2, 2021, respectively, from $76.0 million and $178.0 million during the corresponding periods in 2020 due to higher gross margin for both systems and services. The increase in systems gross margin for the three and nine months ended October&#160;2, 2021 compared to the corresponding periods in 2020 was mainly due to continued growth in our All Platform offerings along with favorable product and customer mix as well as a credit for previously paid tariffs due to product re-export. This was partially offset by increased costs due to higher prices for transportation and components due to shortages. Services gross margin increased for the three and nine months ended October&#160;2, 2021 compared to the corresponding periods in 2020 as our service revenue mix shifted away from low gross margin deployment services to higher gross margin services aligned with our platform offerings.</span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">22</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Operating Expenses</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Sales and Marketing Expenses</span></div><div style="margin-top:6pt"><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 sales and marketing expenses (dollars in thousands):</span></div><div style="margin-top:5pt"><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:15.859%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></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:1.408%"></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:1.408%"></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:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.356%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></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:1.408%"></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:1.408%"></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:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.361%"></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:7pt;font-weight:400;line-height:100%">&#160;</span></td><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:7pt;font-weight:700;line-height:100%">Three Months Ended</span></td><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:7pt;font-weight:700;line-height:100%">Nine 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:7pt;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:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:6pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Dollars</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Percent</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:6pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:6pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Dollars</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Percent</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:8pt;font-weight:400;line-height:100%">Sales and marketing expenses</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:8pt;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:8pt;font-weight:400;line-height:100%">31,144&#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:8pt;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:8pt;font-weight:400;line-height:100%">23,079&#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:8pt;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:8pt;font-weight:400;line-height:100%">8,065&#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:8pt;font-weight:400;line-height:100%">35&#160;</span></td><td style="background-color:#cceeff;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:8pt;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-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:8pt;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:8pt;font-weight:400;line-height:100%">88,905&#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:8pt;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:8pt;font-weight:400;line-height:100%">65,046&#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:8pt;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:8pt;font-weight:400;line-height:100%">23,859&#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:8pt;font-weight:400;line-height:100%">37&#160;</span></td><td style="background-color:#cceeff;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:8pt;font-weight:400;line-height:100%">%</span></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:8pt;font-weight:400;line-height:100%">Percent of total revenue</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:8pt;font-weight:400;line-height:100%">18&#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:8pt;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:8pt;font-weight:400;line-height:100%">15&#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:8pt;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><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:8pt;font-weight:400;line-height:100%">18&#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:8pt;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:8pt;font-weight:400;line-height:100%">18&#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:8pt;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></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales and marketing expenses for the three months ended October&#160;2, 2021 increased by $8.1 million compared with the corresponding period in 2020 primarily due to increases in personnel expenses of $4.3 million, mainly related to investments in sales headcount and higher sales incentive compensation, marketing expenses of $0.9 million, travel expenses of $0.8 million, stock-based compensation of $0.8 million and outside services expenses of $0.4 million.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales and marketing expenses for the nine months ended October&#160;2, 2021 increased by $23.9 million compared with the corresponding period in 2020 primarily due to increases in personnel expenses of $16.2 million, mainly related to investments in sales headcount and higher sales incentive compensation, marketing expenses of $2.7 million, stock-based compensation of $2.0 million, software costs of $1.4 million and outside services expenses of $1.3 million.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We expect to increase our investments in sales and marketing as a percentage of revenue in order to extend our market reach and grow our business in support of our key strategic initiatives.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Research and Development Expenses</span></div><div style="margin-top:6pt"><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 research and development expenses (dollars in thousands):</span></div><div style="margin-top:5pt"><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:15.859%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></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:1.408%"></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:1.408%"></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:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.356%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></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:1.408%"></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:1.408%"></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:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.361%"></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:400;line-height:100%">&#160;</span></td><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:7pt;font-weight:700;line-height:100%">Three Months Ended</span></td><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:7pt;font-weight:700;line-height:100%">Nine 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:8pt;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:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:6pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Dollars</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Percent</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:6pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:6pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Dollars</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Percent</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:8pt;font-weight:400;line-height:100%">Research and development expenses</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:8pt;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:8pt;font-weight:400;line-height:100%">25,727&#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:8pt;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:8pt;font-weight:400;line-height:100%">20,378&#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:8pt;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:8pt;font-weight:400;line-height:100%">5,349&#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:8pt;font-weight:400;line-height:100%">26&#160;</span></td><td style="background-color:#cceeff;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:8pt;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-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:8pt;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:8pt;font-weight:400;line-height:100%">75,807&#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:8pt;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:8pt;font-weight:400;line-height:100%">61,970&#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:8pt;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:8pt;font-weight:400;line-height:100%">13,837&#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:8pt;font-weight:400;line-height:100%">22&#160;</span></td><td style="background-color:#cceeff;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:8pt;font-weight:400;line-height:100%">%</span></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:8pt;font-weight:400;line-height:100%">Percent of total revenue</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:8pt;font-weight:400;line-height:100%">15&#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:8pt;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:8pt;font-weight:400;line-height:100%">14&#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:8pt;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><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:8pt;font-weight:400;line-height:100%">15&#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:8pt;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:8pt;font-weight:400;line-height:100%">17&#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:8pt;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="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:8pt;font-weight:400;line-height:100%">Percentage of systems gross profit</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:8pt;font-weight:400;line-height:100%">30&#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:8pt;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:8pt;font-weight:400;line-height:100%">28&#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:8pt;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"></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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">29&#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:8pt;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:8pt;font-weight:400;line-height:100%">36&#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:8pt;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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr></table></div><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development expenses for the three months ended October&#160;2, 2021 increased by $5.3 million as compared with the corresponding period in 2020 mainly due to increases in outside services expenses of $2.3 million, personnel expenses of $1.8 million, stock-based compensation of $0.6 million and depreciation and amortization of $0.3 million.</span></div><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development expenses for the nine months ended October&#160;2, 2021 increased by $13.8 million as compared with the corresponding period in 2020 mainly due to increases in outside services expenses of $7.1 million, personnel expenses of $5.3 million, stock-based compensation of $1.7 million and depreciation and amortization of $1.0 million. These increases were partially offset by lower facilities expenses of $1.4 million.</span></div><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We expect to slightly increase our investments in research and development as a percentage of systems gross profit to expand the functionality and capabilities of our platforms.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">General and Administrative Expenses</span></div><div style="margin-top:6pt"><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 general and administrative expenses (dollars in thousands):</span></div><div style="margin-top:5pt"><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:15.859%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></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:1.408%"></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:1.408%"></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:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.356%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></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:1.408%"></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:1.408%"></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:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.361%"></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:7pt;font-weight:400;line-height:100%">&#160;</span></td><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:7pt;font-weight:700;line-height:100%">Three Months Ended</span></td><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:7pt;font-weight:700;line-height:100%">Nine 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:7pt;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:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:6pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Dollars</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Percent</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:6pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:6pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Dollars</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Percent</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:8pt;font-weight:400;line-height:100%">General and administrative expenses</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:8pt;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:8pt;font-weight:400;line-height:100%">14,631&#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:8pt;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:8pt;font-weight:400;line-height:100%">10,768&#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:8pt;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:8pt;font-weight:400;line-height:100%">3,863&#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:8pt;font-weight:400;line-height:100%">36&#160;</span></td><td style="background-color:#cceeff;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:8pt;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-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:8pt;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:8pt;font-weight:400;line-height:100%">41,320&#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:8pt;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:8pt;font-weight:400;line-height:100%">32,630&#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:8pt;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:8pt;font-weight:400;line-height:100%">8,690&#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:8pt;font-weight:400;line-height:100%">27&#160;</span></td><td style="background-color:#cceeff;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:8pt;font-weight:400;line-height:100%">%</span></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:8pt;font-weight:400;line-height:100%">Percent of total revenue</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:8pt;font-weight:400;line-height:100%">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:8pt;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:8pt;font-weight:400;line-height:100%">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:8pt;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><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:8pt;font-weight:400;line-height:100%">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:8pt;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:8pt;font-weight:400;line-height:100%">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:8pt;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></table></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">23</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative expenses for the three months ended October&#160;2, 2021 increased by $3.9 million as compared with the corresponding period in 2020 mainly due to increases in stock-based compensation of $1.6 million, personnel expenses of $1.1 million and outside services of $0.9 million.</span></div><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative expenses for the nine months ended October&#160;2, 2021 increased by $8.7 million as compared with the corresponding period in 2020 mainly due to increases in stock-based compensation of $4.3 million, personnel expenses of $2.4 million, unallocated-facilities expenses of $1.8&#160;million and outside services expenses of $1.0 million. Beginning in the third quarter of 2020, we changed our facility allocation to align with our work-from-anywhere initiative, and consequently, most of our facilities expenses are retained in general and administrative expenses. These increases were partially offset by a decrease in our bad debt expense of $1.2 million.</span></div><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We expect our general and administrative expenses to decline as a percentage of revenue over time as revenue continues to grow.</span></div><div style="margin-top:12pt"><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></div><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Responding to changes and trends caused by the COVID-19 pandemic, we initiated a restructuring plan in June 2020 to accelerate our All Platform future and to align with a work-from-anywhere culture. We incurred restructuring charges of $6.3 million, consisting of facilities-related charges and severance and other termination related benefits, for the nine months ended September&#160;26, 2020. See Note 5, &#8220;Balance Sheet Details&#8221; of the Notes to Condensed Consolidated Financial Statements included in Part I, Item 1 of this Quarterly Report on Form 10-Q for further details.</span></div><div style="margin-top:14pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Income Taxes</span></div><div style="margin-top:6pt"><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 income taxes (dollars in thousands):</span></div><div style="margin-top:5pt"><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:15.859%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></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:1.408%"></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:1.408%"></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:7.233%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.408%"></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:1.408%"></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:1.408%"></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:1.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.362%"></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:7pt;font-weight:400;line-height:100%">&#160;</span></td><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:7pt;font-weight:700;line-height:100%">Three Months Ended</span></td><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:7pt;font-weight:700;line-height:100%">Nine 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:7pt;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:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:6pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Dollars</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Percent</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:6pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:6pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Dollars</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:6pt;font-weight:700;line-height:100%">Variance<br/>in<br/>Percent</span></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:8pt;font-weight:400;line-height:100%">Income taxes</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:8pt;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:8pt;font-weight:400;line-height:100%">(159,982)</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:8pt;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:8pt;font-weight:400;line-height:100%">149&#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:8pt;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:8pt;font-weight:400;line-height:100%">(160,131)</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:8pt;font-weight:400;line-height:100%">(107,470)</span></td><td style="background-color:#cceeff;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:8pt;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-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:8pt;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:8pt;font-weight:400;line-height:100%">(159,625)</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:8pt;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:8pt;font-weight:400;line-height:100%">626&#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:8pt;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:8pt;font-weight:400;line-height:100%">(160,251)</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:8pt;font-weight:400;line-height:100%">(25,599)</span></td><td style="background-color:#cceeff;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:8pt;font-weight:400;line-height:100%">%</span></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:8pt;font-weight:400;line-height:100%">Effective tax rate</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:8pt;font-weight:400;line-height:100%">(917.2)</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:8pt;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:8pt;font-weight:400;line-height:100%">0.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:8pt;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><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:8pt;font-weight:400;line-height:100%">(271.1)</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:8pt;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:8pt;font-weight:400;line-height:100%">6.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:8pt;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></table></div><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the third quarter of 2021, we recognized an income tax benefit of $162.0 million offset by current income taxes, based on our reassessment of the amount of our U.S. federal and other state deferred tax assets that are more likely than not to be realized, primarily as a result of actual and projected increases in U.S. profitability in the current and future periods. In performing our analysis, we used the most updated plans and estimates that we currently use to manage the underlying business and calculated the ability to utilize our deferred tax assets. We continue to maintain a valuation allowance of $28.7 million on certain U.S. federal and California state deferred tax assets that we believe are not more likely than not to be realized in future periods.</span></div><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 26, 2020, the total expense was primarily related to foreign activity. In 2020, based on a review of the positive and negative evidence, we concluded that the deferred tax assets were not more likely than not to be realized, which resulted in an immaterial domestic provision as the deferred tax assets were fully offset with the valuation allowance.</span></div><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our income taxes may be subject to fluctuation during the year and in future years as new information is obtained, which may affect the assumptions used to estimate the annual effective tax rate, including factors such as actual results differing from our estimates of pre-tax earnings in the various jurisdictions in which we operate, which could impact the recognition of our deferred tax assets, the recognition or de-recognition of tax benefits related to uncertain tax positions and changes in or the interpretation of tax laws in jurisdictions where we conduct business.</span></div><div id="i5d41e0a2263341439e48bd03d8d3586a_82"></div><div style="margin-top:12pt"><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="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have funded our operations and investing activities primarily through sales of our common stock, including an underwritten public offering in August 2020, cash flow generated from operations and various borrowing arrangements. As of October&#160;2, 2021, we had cash, cash equivalents and marketable securities of $188.7 million, which consisted of deposits held at banks and major financial institutions and highly liquid marketable securities such as U.S. government agency securities and commercial paper.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Operating Activities</span></div><div style="margin-top:6pt"><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 was $44.2 million for the nine months ended October&#160;2, 2021 and consisted of net income of $218.5 million partially offset by non-cash charges of $132.6 million and cash flow decreases of $41.7 million </span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">24</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">reflected in the net change in assets and liabilities. Non-cash charges consisted of the reversal of the valuation allowance on certain deferred tax assets of $162.0 million offset by stock-based compensation of $18.1 million and depreciation and amortization of $11.4 million.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash flow decreases resulting from the net change in assets and liabilities primarily consisted of an increase in inventory of $22.9 million to support revenue growth and to mitigate supply chain shortages and disruptions and an increase in accounts receivable of $22.5 million, due to product shipment timing. In addition, there was an increase in prepaid expenses and other assets of $9.8 million mainly due to advance payments to our supply chain partners for deposits, expedite fees and component surcharges, capitalized sales commissions and deposits for our ConneXions conference, and a decrease in total accrued liabilities of $11.6 million, mainly related to incentive compensation payouts, rebate redemptions and a reduction of customer advance payments. These changes were partially offset by an increase in accounts payable of $18.3 million due to increased inventory purchases and an increase in deferred revenue of $6.7 million due to Calix Cloud subscriptions, support contracts and extended warranties.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the nine months ended September&#160;26, 2020, net cash provided by operating activities was $20.9 million for the nine months ended September 26, 2020 and consisted of $23.9 million of non-cash charges and net income of $9.4 million. This was partially offset by $12.3 million of cash flow decreases reflected in the net change in assets and liabilities. Cash flow decreases resulting from the net change in assets and liabilities primarily consisted of an increase in accounts receivable of $22.6 million due to product shipment timing. In addition, there was increase in inventory of $1.5 million to support higher revenue. These changes were partially offset by an increase in accounts payable of $5.6 million due to increased inventory purchases, an increase in accrued liabilities of $3.8 million, mainly due to an increase in our liability for components at certain suppliers, and a decrease in prepaid expenses and other assets of $3.7 million, due to amortization of the right-of-use asset.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Investing Activity</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the nine months ended October&#160;2, 2021, cash used in investing activities of $82.8 million consisted of net purchases of marketable securities of $75.5 million and capital expenditures of $7.3 million, consisting primarily of purchases of test equipment and computer equipment.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the nine months ended September 26, 2020, we invested in purchasing marketable securities of $40.0 million and capital expenditures of $5.6 million, consisting primarily of purchases of test equipment and computer equipment.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financing Activities</span></div><div style="margin-top:6pt"><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 of $18.0 million for the nine months ended October&#160;2, 2021 primarily consisted of proceeds from the issuance of common stock related to our equity plans.</span></div><div style="margin-top:6pt"><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 of $41.5 million for the nine months ended September 26, 2020 mainly consisted of proceeds from our common stock offering of $60.1 million and proceeds from the issuance of common stock related to our equity plans of $14.1 million. These inflows were partially offset by the re-payment of our line of credit of $30.0 million, payments related to financing arrangements of $2.3 million and payments to originate the credit line of $0.3 million.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Working Capital and Capital Expenditure Needs</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our material cash commitments include non-cancelable firm purchase commitments, normal recurring trade payables, compensation-related and expense accruals, operating leases and revenue-share obligations. We believe that our outsourced approach to manufacturing provides us significant flexibility in both managing inventory levels and financing our inventory. In the event that our revenue plan does not meet our expectations, we may be required to curtail or eliminate expenditures to mitigate the impact on our working capital.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The BofA Loan Agreement provides for a revolving facility up to a principal amount of up to&#160;$35.0 million,&#160;including a&#160;$10.0 million&#160;sublimit for letters of credit. The BofA Loan Agreement matures, and all outstanding amounts become due and payable, in January 2023. The BofA Loan Agreement is secured by substantially all of our assets, including our intellectual property. Loans under the credit facility bear interest at a rate per annum equal to either LIBOR (customarily defined) plus an applicable margin between&#160;1.5%&#160;to&#160;2.0%&#160;or Prime Rate (customarily defined) plus an applicable margin between&#160;0.5%&#160;to&#160;1.0% (3.75% as of October&#160;2, 2021), in each case largely based on a fixed charge coverage ratio measured at the end of each fiscal quarter. As of October&#160;2, 2021, we had no outstanding borrowings and had full availability of $35.0 million.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2018, and as amended in December 2020, we entered into an agreement with a vendor to develop a certain software product and related enhancements pursuant to which we are obligated to make revenue-share payments under the program, subject to aggregate fixed revenue-share payments of $15.8 million. The payments are based on a revenue-share rate applied to revenue from the developed product and the corresponding hardware sales through March 2024. If the aggregate revenue-share payments are not achieved by the end of that period, a true-up payment will be due.</span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">25</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe, based on our current operating plan and expected operating cash flows, that our existing cash, cash equivalents and marketable securities will be sufficient to meet our anticipated cash needs for at least the next twelve months. If we are unable to execute on our current operating plan or continue to generate operating income and positive cash flows, our liquidity, results of operations and financial condition will be adversely affected, and we may need to seek other sources of liquidity, including the sale of additional equity or borrowing, to support our working capital needs. In addition, we may choose to seek other sources of liquidity even if we believe we have generated sufficient cash flows to support our operational needs. There is no assurance that any other sources of liquidity may be available to us on acceptable terms or at all. If we are unable to generate sufficient cash flows or obtain other sources of liquidity, we will be forced to limit our development activities, reduce our investment in growth initiatives and institute cost-cutting measures, all of which may adversely impact our business and potential growth.</span></div><div style="margin-top:6pt"><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%">Contractual Obligations and Commitments</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our principal commitments as of October&#160;2, 2021 consisted of our contractual obligations under non-cancelable outstanding purchase obligations, operating lease obligations for office space and a revenue share obligation. The following table summarizes our contractual obligations as of October&#160;2, 2021 (in thousands):</span></div><div style="margin-top:5pt"><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.936%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.113%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.578%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.113%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.578%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.113%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.578%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.113%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.578%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.113%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.587%"></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="27" 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%">Payments Due by Period</span></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: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><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%">Less Than 1 Year</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%">1-3 Years</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%">3-5 Years</span></td><td colspan="3" style="border-top:1pt solid #000;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%">More Than 5 Years</span></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%">Non-cancelable purchase commitments </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="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%">221,017&#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%">195,876&#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%">17,545&#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%">7,596&#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%">&#8212;&#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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease obligations </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">(2)</span></div></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,767&#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,007&#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%">8,207&#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,515&#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%">38&#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%">Revenue share obligation </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">(3)</span></div></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,649&#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%">3,120&#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,529&#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></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 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%">252,433&#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%">203,003&#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%">37,281&#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%">12,111&#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%">38&#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></tr></table></div><div style="margin-top:1pt;text-indent:24.75pt"><span><br/></span></div><div style="margin-top:1pt;text-indent:24.75pt"><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 outstanding purchase commitments to be delivered by our third-party manufacturers or other vendors.  See Note 7, &#8220;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Commitments and Contingencies</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221; of the Notes to Condensed Consolidated Financial Statements included in Part I, Item&#160;1 of this Quarterly Report on Form 10-Q for further discussion regarding our outstanding purchase commitments.</span></div><div style="margin-top:6pt;text-indent:24.75pt"><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:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">  Future minimum operating lease obligations in the table above primarily include payments for our office locations, which expire at various dates through 2026. See Note 7 &#8220;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Commitments and Contingencies</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221; of the Notes to Condensed Consolidated Financial Statements included in Part I, Item&#160;1 of this Quarterly Report on Form 10-Q for further discussion regarding our operating leases.</span></div><div style="margin-top:6pt;text-indent:24.75pt"><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">(3)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">  Represents remaining payments related to a revenue-share obligation, including imputed interest associated with developed software product and related enhancements, by an engineering service provider. The schedule reflects our expected revenue-share and true-up payments based on our revenue projections for the developed products over a sales period through March 2024. If the minimum revenue-share payments are not achieved by the end of that period, a true-up payment will be due. See Note 5 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8220;Balance Sheet Details&#8221;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of the Notes to Condensed Consolidated Financial Statements included in Part I, Item&#160;1 of this Quarterly Report on Form 10-Q for further discussion regarding our outstanding liability.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Off-Balance Sheet Arrangements</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of October&#160;2, 2021 and December&#160;31, 2020, we did not have any off-balance sheet arrangements.</span></div><div id="i5d41e0a2263341439e48bd03d8d3586a_85"></div><div style="margin-top:18pt;padding-left:36pt;text-indent:-36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 3.  Quantitative and Qualitative Disclosures About Market Risk </span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Interest Rate Risk</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The primary objectives of our investment activity are to preserve principal, provide liquidity and maximize income without significantly increasing risk. By policy, we do not enter into investments for trading or speculative purposes. As of&#160;October&#160;2, 2021, we had cash, cash equivalents and marketable securities of $188.7 million, which was held primarily in cash, money market funds and highly liquid marketable securities such as U.S. government agency securities and commercial paper. Due to the nature of these money market funds and highly liquid marketable securities, we believe that we do not have any material exposure to changes in the fair value of our cash equivalents and marketable securities as a result of changes in interest rates. </span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our exposure to interest rate risk also relates to the amount of interest we must pay on our borrowings under our Loan Agreement with BofA. Borrowings under the BofA Loan Agreement will bear interest through maturity at a variable annual rate based upon an annual rate of either a prime rate or a LIBOR rate, plus an applicable margin between 0.5% to 1.0% for prime rate advances and between 1.5% and 2.0% for LIBOR advances based on our fixed charge coverage ratio. As of&#160;October&#160;2, 2021, we had&#160;no outstanding borrowings under the BofA Loan Agreement.</span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">26</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Foreign Currency Exchange Risk</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our primary foreign currency exposures are described below.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Economic Exposure</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The direct effect of foreign currency fluctuations on our sales and expenses has not been material because our sales and expenses are primarily denominated in U.S. dollars, or USD. However, we are indirectly exposed to changes in foreign currency exchange rates to the extent of our use of foreign CMs whom we pay in USD. Increases in the local currency rates of these vendors in relation to USD could cause an increase in the price of products that we purchase. Additionally, if the USD strengthens relative to other currencies, such strengthening could have an indirect effect on our sales to the extent it raises the cost of our products to non-U.S. customers and thereby reduces demand. A weaker USD could have the opposite effect. The precise indirect effect of currency fluctuations is difficult to measure or predict because our sales are influenced by many factors in addition to the impact of such currency fluctuations.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Translation Exposure</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our sales contracts are primarily denominated in USD and, therefore, the majority of our revenue is not subject to foreign currency risk. We are directly exposed to changes in foreign exchange rates to the extent such changes affect our expenses related to our foreign assets and liabilities with our subsidiaries in China, India and the United Kingdom, whose functional currencies are Chinese Renminbi, or RMB, Indian Rupee, or INR, and British Pounds Sterling, or GBP.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our operating expenses are incurred primarily in the United States, in China associated with our research and development operations that are maintained there, in India for our new center of excellence and in the United Kingdom for our international sales and marketing activities. Our operating expenses are generally denominated in the functional currencies of our subsidiaries in which the operations are located. The percentages of our operating expenses denominated in the following currencies for the indicated periods were as follows:</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:41.666%"><tr><td style="width:1.0%"></td><td style="width:44.163%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:2.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:22.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:2.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:22.411%"></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="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:7pt;font-weight:700;line-height:100%">Nine 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="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:7pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:7pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:8pt;font-weight:400;line-height:100%">USD</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:8pt;font-weight:400;line-height:100%">92&#160;</span></td><td style="background-color:#cceeff;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:8pt;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 #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:8pt;font-weight:400;line-height:100%">93&#160;</span></td><td style="background-color:#cceeff;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:8pt;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:8pt;font-weight:400;line-height:100%">RMB</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:8pt;font-weight:400;line-height:100%">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:8pt;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:8pt;font-weight:400;line-height:100%">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:8pt;font-weight:400;line-height:100%">%</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:8pt;font-weight:400;line-height:100%">GBP</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:8pt;font-weight:400;line-height:100%">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:8pt;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:8pt;font-weight:400;line-height:100%">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:8pt;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></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-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:8pt;font-weight:400;line-height:100%">100&#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:8pt;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 #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:8pt;font-weight:400;line-height:100%">100&#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:8pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If USD had appreciated or depreciated by 10%, relative to INR, GBP and RMB, our operating expenses for the first nine months of 2021 would have decreased or increased by approximately $1.6 million, or approximately 1%. We do not currently enter into forward exchange contracts to hedge exposure denominated in foreign currencies or any derivative financial instruments. In the future, we may consider entering into hedging transactions to help mitigate our foreign currency exchange risk.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign exchange rate fluctuations may also adversely impact our financial position as the assets and liabilities of our foreign operations are translated into USD in preparing our Condensed Consolidated Balance Sheets. The effect of foreign exchange rate fluctuations on our consolidated financial position for the nine months ended October&#160;2, 2021 was a net translation loss of&#160;$15,000. This loss is recognized as an adjustment to stockholders&#8217; equity through accumulated other comprehensive loss.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Transaction Exposure</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have certain assets and liabilities, primarily receivables and accounts payable (including inter-company transactions) that are denominated in currencies other than the relevant entity&#8217;s functional currency. In certain circumstances, changes in the functional currency value of these assets and liabilities create fluctuations in our reported consolidated financial position, cash flows and results of operations. Transaction gains and losses on these foreign currency denominated assets and liabilities are recognized each period within &#8220;Other expense, net&#8221; in our Condensed Consolidated Statements of Comprehensive Income. During the nine months ended October&#160;2, 2021, the net gain we recognized related to these foreign exchange assets and liabilities was approximately $0.1 million.</span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">27</span></div></div></div><div id="i5d41e0a2263341439e48bd03d8d3586a_88"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:18pt;padding-left:36pt;text-indent:-36pt"><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-weight:700;line-height:120%;padding-left:35.36pt">Controls and Procedures</span></div><div style="margin-top:6pt"><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="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Based on their evaluation as of October&#160;2, 2021, our Chief Executive Officer and Chief Financial Officer, with the participation of our management, have concluded that our disclosure controls and procedures (as defined in Rules 13a&#8211;15(e) and 15d&#8211;15(e) under the Exchange Act) were effective at the reasonable assurance level.</span></div><div style="margin-top:12pt"><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="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our disclosure controls and procedures provide our Chief Executive Officer and Chief Financial Officer reasonable assurance that our disclosure controls and procedures will achieve their objectives. The term &#8220;disclosure controls and procedures,&#8221; as defined in Rules&#160;13a-15(e)&#160;and 15d-15(e)&#160;under the Exchange Act, means controls and other procedures of a company that are designed to ensure that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the SEC&#8217;s rules&#160;and forms. Disclosure controls and procedures include, without limitation, controls and procedures designed to ensure that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is accumulated and communicated to the company&#8217;s management, including its principal executive and principal financial officers, as appropriate, to allow timely decisions regarding required disclosure. Our management, including our Chief Executive Officer and Chief Financial Officer, does not expect that our disclosure controls and procedures or our internal control over financial reporting can or will prevent all human error. Our management recognizes that a control system, no matter how well designed and implemented, can provide only reasonable, not absolute, assurance that the objectives of the control system are met. Furthermore, the design of a control system must reflect the fact that there are internal resource constraints, and the benefit of controls must be weighed relative to their corresponding costs. Because of the limitations in all control systems, no evaluation of controls can provide complete assurance that all control issues and instances of error, if any, within our company are detected. These inherent limitations include the realities that judgments in decision-making can be faulty, and that breakdowns can occur due to human error or mistake. Additionally, controls, no matter how well designed, could be circumvented by the individual acts of specific persons within the organization. The design of any system of controls is also based in part upon certain assumptions about the likelihood of future events, and there can be no assurance that any design will succeed in achieving its stated objectives under all potential future conditions.</span></div><div style="margin-top:12pt"><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="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There was no change in our internal control over financial reporting identified in connection with the evaluation required by Rule 13a-15(d) and 15d-15(d) of the Exchange Act that occurred during the period covered by this report that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.</span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">28</span></div></div></div><div id="i5d41e0a2263341439e48bd03d8d3586a_91"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><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 II. OTHER INFORMATION</span></div><div><span><br/></span></div><div id="i5d41e0a2263341439e48bd03d8d3586a_94"></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 1.  Legal Proceedings</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For a description of our material pending legal proceedings, please refer to Note 7 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8220;Commitments and Contingencies &#8211; Litigation&#8221;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of the Notes to Condensed Consolidated Financial Statements included in Part I, Item&#160;1 of this Quarterly Report on Form 10-Q, which is incorporated by reference.</span></div><div id="i5d41e0a2263341439e48bd03d8d3586a_97"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 1A.  Risk Factors</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">We have identified the following additional risks and uncertainties that may affect our business, financial condition and/or results of operations. The risks described below include any material changes to and supersede the description of the risk factors disclosed in Part I, Item&#160;1A of our Annual Report on Form 10-K for the year ended December&#160;31, 2020, as filed with the Securities and Exchange Commission on February&#160;22, 2021. Investors should carefully consider the risks described below, together with the other information set forth in this Quarterly Report on Form 10-Q, before making any investment decision. The risks described below are not the only ones we face. Additional risks not currently known to us or that we currently believe are immaterial may also significantly impair our business operations. Our business could be harmed by any of these risks. The trading price of our common stock could decline due to any of these risks, and investors may lose all or part of their investment.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Business and Operational Risks</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We have risks associated with material dependencies on third-party vendors for our global supply chain operations that could disrupt our business and adversely impact our gross margin and results of operations.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have material dependencies on third-party vendors for our global supply chain operations, including for services to design, source components and materials, manufacture, transport and deliver our products, which heighten the complexity of our global supply chain operations. If any of these third-party vendors stop providing their services, for any reason, we would have to obtain similar services from alternative sources, which may not be available on commercially reasonable terms, if at all. We also have limited control over disruptions that may occur at the facilities of these third-party partners, such as supply interruptions, labor shortages, strikes, shipping backlogs at ports and similar disruptions to transportation infrastructure, design and manufacturing failures, quality control issues, systems failures or even facility closures arising from the COVID-19 pandemic or natural disasters. In addition, switching development firms or manufacturers could delay the manufacture and availability of products and/or require us to re-qualify our products with our customers, which would be costly and time-consuming. Any interruption in the development, supply or distribution of our products would adversely affect our ability to meet scheduled product deliveries to our customers and could result in lost revenue or higher costs, which would negatively impact our gross margin and operating results and harm our business.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Particular risks associated with management of our global supply chain operations include the following:</span></div><div style="margin-top:6pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',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-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">Manufacturing constraints and disruptions.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> We do not have internal manufacturing capabilities and rely solely on a small number of manufacturing partners to manufacture and supply our products. Our business operations and ability to supply our products are highly dependent upon our ability to secure adequate third-party manufacturing capabilities and capacity and to effectively manage our manufacturing partners to meet our business needs. Our dependency solely on third-party manufacturers makes us vulnerable to possible supply and capacity constraints and reduces our control over manufacturing disruptions due to component availability, delivery schedules, quality, manufacturing yields and costs. If these manufacturing disruptions and constraints are prolonged, or if these manufacturing partners do not have adequate capabilities or business continuity plans to fulfill their obligations to us, our business could be disrupted. Furthermore, we expect to face increasing competition for manufacturing capacity and resources as other companies seek to transition manufacturing operations out of China due to uncertainties around tariffs, trade disputes or other factors. If we are unable to effectively manage our vendors or if we fail to invest adequate resources to manage our supply chain operations, our ability to meet customer orders and generate revenue may be negatively impacted. A substantial portion of our manufacturing is done at facilities outside of the U.S., largely in Asia, which presents increased supply risk, including the risk of supply interruptions or reductions in manufacturing quality or controls. Our international manufacturing also creates risks and uncertainties associated with regulatory changes or government actions such as local business requirements, trade restrictions and tariffs, economic sanctions or related legislation, which may complicate our export and import activities, be disruptive to the operations of our manufacturers and logistics partners or result in higher costs and variability of supply. Manufacturing in Asia further heightens our risk of meeting customer delivery requirements as we rely upon our logistics partners to transport and import significant volumes of products to the U.S. where we generate a substantial majority of our revenue. These supply chain </span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">29</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:6pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">challenges are further exacerbated by shipping backlogs at ports and similar disruptions to transportation infrastructure due to an increasing surge in global demand for goods.</span></div><div style="margin-top:6pt;padding-left:36pt;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-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">Extended lead times; component and materials shortages; global logistics challenges</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. We source components and materials to manufacture our products from a limited number of suppliers, resulting in our product supply being subject to such suppliers&#8217; lead times, volume constraints and increasing costs. We have experienced and may continue to experience extended lead times and product unavailability due to factory disruptions or closures as well as delays and unanticipated costs associated with the supply of our products, including expedite fees and air freight charges to mitigate delays in product supply, particularly in light of the COVID-19 pandemic. We also expect continued shortages and/or delay of critical components and related services as a result of growing demand in the industry or other sectors. For example, increases in computing needs, Internet-of-Things devices, wireless products, automotive electronics and artificial intelligence all drive increased demand for certain components, such as chipsets and memory products, which have resulted and may continue to result in lower availability, longer lead times, increased prices for such components and increasing competition for logistics services. For example, substantially all our silicon suppliers have extended their lead times to 52 weeks and increased prices. Our supply chain operations span several geographies globally, and we are heavily dependent upon third party logistics and transportation services to deliver our products to customers. We have experienced and expect to continue to experience increased competition for and disruptions in logistics and transportation services due to transportation backlogs and labor shortages, which have resulted in longer lead times, increased prices and surcharges and increased investments in resources and higher overall costs to manage our supply chain logistics. Extended lead times and shortages could impair our ability to meet our customer requirements, require us to pay higher prices or incur expedite fees, which would harm our business and negatively impact our gross margin and results of operations.</span></div><div style="margin-top:6pt;padding-left:36pt;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-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">Limited sources and sole-sourced supply.</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-weight:400;line-height:120%">We have sole-source or limited-source dependencies with suppliers for some key product components such as chipsets and certain of our application-specific integrated circuit processors and resistor components, including certain components sourced solely through suppliers located in China. Any of these suppliers upon whom we or our business partners rely could stop producing our components, be subject to higher costs or tariffs, epidemics or other conditions that disrupt their operations, cease operations or enter into exclusive arrangements with our competitors. For example, we have experienced disruptions in our supply of certain components that are sourced from suppliers in China, Southeast Asia, Mexico and other countries as a result of the COVID-19 pandemic, which have caused delays in supply of our products due to production disruptions, factory closures and longer lead times for components and from uncertainty around trade and tariff policies between the U.S. and China. Sole-source or limited-source dependencies on these suppliers limit our ability to mitigate these disruptions in our supply chain and such disruptions, particularly if prolonged, may adversely affect our ability to obtain components and materials needed to manufacture our products at acceptable prices or at all, which would adversely affect our ability to meet scheduled product deliveries to our customers, increase costs and in turn harm our business and results of operations.</span></div><div style="margin-top:6pt;padding-left:36pt;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-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">Limitations on ability to manage third-party risks.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Our business with third-party manufacturers typically represents a relatively small percentage of their total revenue, and our orders may not be given adequate priority if such manufacturers have to allocate limited capacity among competing customers, which could delay supplies of product to us or limit our ability to ramp product volumes within desired timeframes. If any of our manufacturing partners are unable or unwilling to continue manufacturing our products in required volumes and at high quality levels, we would have to identify, qualify and select acceptable alternative manufacturers, which could disrupt our ability to maintain continuous supply of product to meet customer requirements. An alternative manufacturer may not be available to us when needed or may not be in a position to satisfy our production requirements at commercially reasonable prices and quality. In addition, we and/or our manufacturers may not be able to negotiate commercially reasonable terms and sufficient quantities of component supplies with component and materials suppliers to meet our manufacturing needs because our purchase volumes may be too low for us to be considered a priority customer for securing supplies, particularly when there are shortages or limited availability of key components and materials. As a result, suppliers could stop selling to us and our manufacturers at commercially reasonable prices, or at all. Any such interruption or delay may force us and our manufacturers to seek components or materials from alternative sources, which may not be available, or result in higher prices. Switching suppliers could also require that we redesign our products to accommodate new components and could require us to re-qualify our products with our customers, which would be costly and time consuming. Any significant interruption in manufacturing or supply availability, including labor shortages or competition for components, would require us to reduce our product supply to customers, which would result in lost revenue and harm our customer relationships.</span></div><div style="margin-top:6pt;padding-left:36pt;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-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">Ability to forecast and manage inventory liability with vendors.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> We have experienced unanticipated increases in demand from customers, including from higher consumer demand for internet services and improved WiFi due to </span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">30</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:6pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">COVID-19, which in turn has resulted in delayed shipments and variable shipping patterns. If we underestimate our product demand, our manufacturers may have inadequate component inventory, which could interrupt our product manufacturing, increase our cost of product revenue associated with expedite fees and air freight and/or result in delays or cancellation of customer orders. If we are unable to deliver products in a timely fashion to our customers, we may lose customer goodwill or our customers may choose to purchase from other vendors, all of which may have a material negative impact on our revenue and operating results. If we overestimate our product demand, our manufacturers may purchase excess components and build excess inventory, and we could be required to pay for these excess parts or products and their storage costs. Long lead times for component supply, which have been exacerbated by factory closures and shortages due to the COVID-19 pandemic as well as higher demand for certain components, and unanticipated demand for our products have in the past and are expected to continue to impact our ability to accurately forecast our production requirements. We may incur liabilities for certain component inventory purchases that have been rendered excess or obsolete, which may have an adverse effect on our gross margin, financial condition and results of operations.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our business and results of operations have been and are expected to continue to be negatively affected by the COVID-19 pandemic that has severely impacted the global economy.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Since late 2019, the COVID-19 pandemic has severely impacted the global economy, disrupting financial markets, global manufacturing activities, customer purchasing patterns and general business operations, resulting in business closures, significant unemployment rates and substantial and prolonged government restrictions on business, travel and personal activities. These measures have disrupted our global supply chain activities and significantly limited our business travel, customer engagements and normal business activities, all of which heighten our business and operational risks. With the increased availability of vaccines in the U.S., we recently reopened our offices for fully-vaccinated employees who choose to work at the office and resumed business travel with safety precautions as we continue to monitor evolving pandemic regulations and focus on the safety, well-being and productivity of our workforce. Recently, the Biden administration announced a proposed regulation requiring all U.S. private businesses with 100 or more employees to ensure that their employees are fully vaccinated or require unvaccinated workers to undergo weekly COVID-19 testing. We cannot predict the continued impact of the pandemic, including the impact of the proposed U.S. vaccine mandate, and the degree to which our business and results of operations may be affected, particularly given the extended duration of the pandemic and lack of global vaccine availability and adoption. There continue to be outbreaks, and variants that are more highly transmissible and/or that cause more severe disease may continue to emerge. There are no assurances that the global economy will recover quickly or at all, or that impacted areas will be able to adequately contain COVID-19 infections.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In particular, the pandemic and related restrictions continue to adversely impact our global supply chain operations with materially longer lead times, increased competition for limited supplies, shortages of key components and materials and disruptions in operations, including office and factory closures at our third-party manufacturers, logistics partners and suppliers. If the pandemic and related restrictive measures continue for a prolonged period, we may experience a sustained shortage of components and materials, which may have a material negative impact on our ability to supply products to meet customer requirements and could materially adversely affect our business and results of operations. Business closures, infection outbreaks, travel restrictions and other impacts of the COVID-19 pandemic have also adversely affected economies, financial markets and the financial viability and liquidity of businesses in the U.S. and internationally, heightening our collections risk. Our customers&#8217; purchasing decisions may be impacted by the pandemic, which could in turn impact our sales and results of operations. Although demand for our products has been strong in the short-term as subscribers seek more bandwidth and better Wi-Fi, customers&#8217; purchasing decisions over the long-term may be impacted by the pandemic and its impact on the economy. For example, BSPs may choose not to invest at this time in our new platforms or delay infrastructure improvements due to the uncertainty in the global economy. The prolonged disruptions to our business and operations and other adverse impacts of the COVID-19 pandemic or further disruptions we may experience in the future could have a material adverse effect on our business, results of operations and financial condition.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Security breaches and data loss may expose us to liability, harm our reputation and adversely affect our business.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As part of our business operations, we collect, store, process, use and/or disclose sensitive data relating to our business, including in connection with the provision of our cloud services and in our information systems and data centers (including third-party data centers). We also engage third-party providers to support various internal functions, such as human resources, finance, information technology and electronic communications, as well as the development and delivery of our products and cloud services, which includes collecting, handling, processing and/or storage of data on our behalf. These internal and external functions involve an array of software, systems and technologies (including cloud-based), which enable us to conduct, monitor and/or protect our business, operations, systems and IT assets. In addition, we host our customers&#8217; subscriber data in third-party data centers in the course of providing our products and cloud-based platform solutions and services to our customers. While we and our third-party providers apply multiple layers of security to control access to data and use encryption and authentication technologies to secure data from unauthorized access, use, alteration and disclosure, these security measures may </span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">31</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">be compromised. Malicious hackers may attempt to gain access to our network or data centers; steal proprietary or personal information related to our business, products, employees and customers; hold data ransom; or otherwise interrupt our systems and services or those of our supply chain partners, vendors, customers or others. In particular, there have been increasing instances of high-profile cybersecurity attacks and security breaches, including sophisticated supply chain attacks, and as we and our third-party providers continue to increase our reliance on virtual environments and communications systems, cloud-based solutions and other technologies to support our work-from-anywhere culture and overall business needs, our exposure to third-party vulnerabilities and security risks similarly increase. Although we monitor our networks and continue to enhance our security protections, particularly as we transitioned to a work-from-anywhere workforce, hackers are increasingly more sophisticated and aggressive, and our efforts may be inadequate to prevent all incidents of data breach or theft due, for example, to the increased use by attackers of tools and techniques that are specifically designed to circumvent controls, to avoid detection, and to remove or obfuscate forensic evidence.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We and certain of our third-party providers have, from time to time, been subject to cyberattacks and security incidents. The theft, loss or misuse of proprietary or personal data collected, stored or processed by us or our service providers to run our business could result in significant security and remediation costs, regulatory fines and penalties, and/or costs related to defending legal claims. Even if we and our third-party providers allocate, implement and manage resources to maintain reasonable security and data protection measures, we could be subjected to data loss, unauthorized data disclosure or a compromise or breach of our systems, products or those of our third-party data centers that materially impact our operations and financial results. As we continue to grow our cloud-based platforms and services portfolio and increase reliance on third-party development partners and third-party software and cloud-based solutions, risks arising from or related to security breaches or data loss are likely to increase. Any loss of data or compromise of our systems, including our product platforms that collect and process personal data, or third-party data centers upon which our product platforms rely, could result in loss of confidence in the security of our offerings and loss of customer goodwill, damage our reputation, cause the loss of current or potential customers or partners, lead to legal and regulatory liability given the accelerated development of strict privacy and data security laws around the world, and adversely affect our business, financial condition, operating results and cash flows. Although we maintain insurance coverage that may apply to various cybersecurity risks and liabilities, there can be no guarantee that any or all costs or losses incurred will be partially or fully insured.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">We are subject to business and operational risks associated with our international operations that could harm our business.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are subject to business and operational risks associated with our international operations, which include our global supply chain operations, our international offices located in Nanjing, China and Bangalore, India, dependencies on third-party development partners in India, and, to a lesser extent, dependencies on our international sales operations. We face a number of risks associated with our international operations, including costs of complying with differing and changing laws and regulatory requirements, tariffs, export quotas, custom duties and other trade restrictions; effects of inflation, currency controls and/or fluctuations in currency exchange rates; limited or unfavorable IP protection; and uncertainties associated with political conflicts and instabilities, variable economic conditions, terrorist attacks or acts of war. Our development operations and activities in China and India involve these and other significant risks, including: local labor conditions and regulations; knowledge transfer related to our technology and exposure to misappropriation of IP or confidential information, including information that is proprietary to us, our customers and third parties; heightened exposure to changes in the economic, security, political and pandemic conditions; international trade agreements and U.S. tax provisions that could adversely affect our international operations; complexities of managing development timelines and deliverables from abroad; and differences in local business practices and customs that may not align with our expectations and standards.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition to the foregoing risks, our international sales operations involve risks associated with greater costs and complexity localizing and supporting our products and platforms in local markets; trade regulations, compliance requirements and incremental costs applicable to the qualification, production, sale and delivery of our products; longer collection periods, financial instability and other difficulties impacting collection of accounts receivable in certain jurisdictions; more intense competition including from local equipment suppliers; and our reliance on value added resellers to sell and support our products in international markets given our limited presence and infrastructure outside the U.S. To expand our international operations, we will need to invest time and resources to attract key talent, execute on our international strategy and drive international market demand for our products. If we invest substantial time and resources to expand our international operations and are unable to do so successfully and in a timely manner, our business, financial condition and results of operations may suffer.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">If we do not successfully execute on our business strategy to increase our sales to new and existing BSPs, our operating results, financial condition, cash flows and long-term growth may be negatively impacted.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our growth is dependent upon our ability to increase sales to existing and new BSP customers of all types and sizes, and the execution of our strategy to increase sales to BSPs involves significant risk. The majority of our revenue is not recurring in nature, and our customers generally have no committed purchase requirements, may cancel orders and may cease to purchase our products at any time. If our customers stop purchasing our products for any reason, our business and results of operations </span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">32</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">would be harmed. If we are unable to successfully increase our sales to new and existing BSPs, our operating results, financial condition, cash flows and long-term growth may be negatively impacted. Our strategy includes investing in regional sales teams and select channel partners to sell to smaller regional BSPs. A large portion of our current sales are to customers with relatively smaller regional networks and limited capital expenditure budgets. The spending patterns of many of these customers are generally less formal and often characterized by small and sporadic purchases, and the potential revenue from any one of these customers is limited. We rely primarily on channel partners, including value added resellers, internationally and for certain U.S. markets. We face fierce competition for business with key channel partners. If we are unable to secure the services of channel partners that we believe are key to our strategy, we may fail to grow our sales as planned. Furthermore, we rely on our channel partners to promote and sell our products. The loss of a key channel partner or the failure of our partners to provide adequate services could have a negative effect on customer satisfaction and could cause harm to our business.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our selling efforts to larger BSPs require substantial investments of technical, marketing and sales resources through lengthy equipment qualification and sales cycles without any assurance of generating sales. We may be required to invest in costly upgrades to meet more stringent performance criteria and interoperability requirements, develop new customer-specific features or adapt our products to meet required standards. We have invested and expect to continue to invest considerable time, effort and expenditures, including investment in product research and development, related to these opportunities without any assurance that our efforts will result in revenue. </span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The quality of our support and services offerings is important to sustain and increase our sales to new and existing customers. Our services to customers have increasingly broadened to help them deploy our products within their networks. Once our products are deployed within our customers&#8217; networks, they depend on our support organization to resolve any issues relating to those products. If we do not effectively assist our customers in deploying our products, succeed in helping them quickly resolve post-deployment issues or provide effective support, it could adversely affect our ability to sell our products to existing customers and harm our reputation with potential new customers. As a result, our failure to maintain high quality support and services could result in the loss of customers, which would harm our business.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If we do not successfully increase our sales through adoption of our platform offerings, our operating results, financial condition, cash flows and long-term growth may be negatively impacted.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have platform offerings that are new and early in their life cycles and subject to uncertain market demand. If our customers are unwilling to adopt these new offerings, install our new products or deploy our new services, or if we are unable to achieve market acceptance of our products and platforms, our business and financial results may be harmed. Moreover, adoption of our cloud product offerings, such as our Revenue EDGE, is dependent on the success of our customers in investing, marketing, selling and deploying broader services&#8212;including ancillary services&#8212;to their subscribers, and our ability to differentiate our products from competing or substitutive product and service offerings. For example, our Revenue EDGE Suites include network security, parental controls and a growing ecosystem of services from partners like Arlo and Servify. However, if subscriber demand for such services does not grow as expected or declines, or our customers are unable or unwilling to invest in our platforms to deploy and market these services, demand for our products may decrease or fail to grow at rates we anticipate.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">We may have difficulty evolving and scaling our business and operations to meet customer and market demand, which could result in lower profitability or cause us to fail to execute on our business strategies.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In order to grow our business, we will need to continually evolve and scale our business and operations to meet customer and market demand. Evolving and scaling our business and operations places increased demands on our management as well as our financial and operational resources to effectively manage organizational change; design scalable processes; accelerate and/or refocus research and development activities; expand our manufacturing, supply chain and distribution capacity; increase our sales and marketing efforts; broaden our customer-support and services capabilities; maintain or increase operational efficiencies; scale support operations in a cost-effective manner; implement appropriate operational and financial systems; and maintain effective financial disclosure controls and procedures. If we cannot evolve and scale our business and operations effectively, we may not be able to execute our business strategies in a cost-effective manner and our business, financial condition, profitability and results of operations could be adversely affected.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We could become subject to litigation that could harm our business or negatively impact our results of operations.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the ordinary course of business we are subject to legal claims, or may become involved in regulatory proceedings, related to disputes over commercial, competition, IP, labor and employment and other matters. Regardless of the merits of any such claims, litigation and regulatory proceedings are inherently uncertain, costly, disruptive to our business and operations, harmful to our reputation, and distracting to management. In particular, as a technology company, we may be subject to IP claims asserting patent, copyright, trademark and/or other infringement claims that are costly to defend and could limit our ability to use some technologies in the future. The risk of such claims is heightened as we expand our products and services and increasingly rely on more technologies, including third-party IP rights that we license and incorporate into our products and services. Third parties from whom we license IP may be unable or unwilling to indemnify us for such claims or offer any other </span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">33</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">remedy to us. Increasingly, patent infringement claims are asserted by patent holding companies, which are non-practicing entities that do not conduct business as an operating company and hold and own patents only for the purpose of aggressively pursuing royalties through infringement assertions or patent infringement litigation. Further, in our industry, the number of assertions by non-practicing entities against technology companies have continued to trend higher, including as a result of patent divestitures by operating companies to non-practicing entities and availability of litigation financing. We have received and expect to continue to receive assertions from non-practicing entities and other third parties alleging that we may be infringing their patents or other IP rights; offering licenses to such IP; and/or threatening litigation. Any claims asserting that our products infringe the proprietary rights of third parties, with or without merit, could be time-consuming, result in costly litigation and divert the efforts of our engineering teams and management. These claims could also result in the suspension of ability to import, market and sell our products and services, product shipment delays or requirements to modify our products or enter into costly settlements or licensing agreements. Such royalty or licensing agreements, if required, may not be available to us on acceptable terms, if at all. Furthermore, we may additionally be financially responsible for claims made against our customers, including costs of litigation and damages awarded, under indemnity obligations which could further negatively impact our results of operations. Protracted litigation could cause us to incur significant defense costs, which would negatively impact our results of operations.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We have a history of losses and fluctuations in our gross margin and operating results, which make it difficult to predict our future performance and could cause the market price of our stock to decline.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have a history of net operating losses and fluctuations in our quarterly and annual gross margin and operating results, including due to factors outside of our control. Factors that impact variability of our operating results include our ability to predict our revenue and reduce and control our costs, our ability to predict product functions and features desired by our customers, the impact of global economic conditions, our ability to effectively manage our global supply chain operations, our ability to effectively manage third parties upon whom we depend to conduct our business, our customers&#8217; spending patterns and purchasing decisions, the impact of competition, customer adoption of our products, our ability to manage our legal, contractual and regulatory obligations and liabilities, and other risk factors identified in the lead-in to &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations&#8221; above and in this &#8220;Risk Factors&#8221; section. Our gross margin is further impacted by customer, geographic and product mix, the impact of competition on our prices, our ability to manage our costs associated with components and materials, excess and obsolescence, expedite fees and logistics-related activities, contractual commitments and other product costs. Fluctuating results make it difficult to predict our future performance and could cause the market price of our stock to decline. We expect to continue to incur significant expenses and cash outlays as we expand our business and operations and target new customer opportunities. Given our anticipated growth and the intense competitive pressures we face, we may be unable to adequately control our operating expenses or maintain positive operating income. Comparing our operating results on a period-to-period basis may not be meaningful, and you should not rely on our past results as an indication of our future performance. If our revenue or operating results fall below the expectations of investors or securities analysts, or below any guidance we may provide to the market, the market price of our stock would likely decline.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We cannot guarantee that we will achieve sustained profitability. We will have to generate and sustain significant and consistent increased revenue, while continuing to control our expenses, to maintain profitability. If we are unable to sustain our operating income and positive cash flows from operations, our liquidity, results of operations and financial condition will be adversely affected, and we may be forced to limit our development activities, reduce our investment in growth initiatives and institute cost-cutting measures, any of which would adversely impact our business and growth.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We are exposed to customer credit risks that could adversely affect our operating results and financial condition.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We generally extend credit terms for sales to our customers which exposes us to credit risk. If we are unable to collect our accounts receivable balances as anticipated, our operating results and financial condition will be harmed. A number of factors contribute to this risk, including our ability to adequately assess a customer&#8217;s creditworthiness and financial condition, changes in a customer&#8217;s financial condition and/or liquidity, our ability to timely collect our accounts receivable from customers, disagreements with customers on invoiced balances and economic downturns or other unanticipated events impacting a customer&#8217;s ability to pay. Furthermore, some of our international customers operate in countries with developing economies, volatile financial markets or currency regulations that impact their ability to make payments in U.S. dollars. The COVID-19 pandemic has also presented financial challenges to numerous businesses, including delays in collections from some of our international customers in emerging markets and, if prolonged, may result in liquidity issues leading to heightened difficulties with collections. While we take measures to pursue collections on our accounts receivable, we have from time to time written down accounts receivable and written off doubtful accounts and may need to do so in future periods. The determination of allowances for doubtful accounts involves significant judgment, and if we underestimate our allowance for doubtful accounts, we will have to make further write-downs. Such write-downs or write-offs could negatively affect our operating results for the period in which they occur and could harm our cash flow or our financial condition.</span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">34</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Changing market and customer requirements may adversely affect the valuation of our inventory.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer demand for our products can change rapidly in response to market and technology developments. We may, from time to time, adjust inventory valuations downward or end of life certain of our products in response to our assessment of our business strategy as well as consideration of demand from our customers for specific products or product lines. If we fail to accurately plan our inventory levels, we may have to write off excess or obsolete inventory. Such write-offs could have a material adverse effect on our gross margin, financial condition and results of operations.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">If we lose any of our key personnel, or are unable to attract, train and retain qualified personnel, our ability to manage our business and continue our growth would be negatively impacted.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our success depends, in large part, on the continued contributions of our key personnel who are highly skilled and would be difficult to replace. Competition for skilled personnel, particularly in software development and engineering, is intense. We cannot be certain that we will be successful in attracting and retaining qualified personnel, or that newly hired personnel will function effectively, both individually and as a group. If we are unable to effectively recruit, hire and utilize new employees to align with our company objectives, execution of our business strategy and our ability to react to changing market conditions may be impeded, and our business, financial condition and results of operations may suffer. In the first half of 2020, we transitioned to a &#8220;work-from-anywhere&#8221; model and if we do not effectively manage our distributed workforce, we could face challenges maintaining our corporate culture, which could increase attrition or limit our ability to attract personnel. None of our key personnel are bound by a written employment contract to remain with us for a specified period. In addition, we do not currently maintain key person life insurance covering our key personnel. If we lose the services of any key personnel, our business, financial condition and results of operations may suffer.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">If we experience disruptions with our enterprise resource planning system, we may not be able to effectively transact business or produce financial statements, which would adversely affect our business, results of operations and cash flows.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2020, we migrated our Oracle enterprise resource planning, or ERP, system to Oracle&#8217;s cloud platform. With the migration to Oracle&#8217;s cloud platform, we are highly dependent upon Oracle to host, manage and maintain our ERP system, and any disruptions to their business or processes, or delays in their ability to provide services to us, may in turn disrupt our business operations or increase costs. Furthermore, we will receive quarterly system updates and enhancements on the cloud platform according to Oracle&#8217;s release timeline and change management processes, which if not managed properly may disrupt our business operations and delay our ability to process transactions and produce reports necessary to conduct our business. We are highly dependent upon our ERP system for critical business functions, including order processing and management, supply chain and procurement operations, financial planning, accounting and reporting; accordingly, protracted disruption in functionality or processing capabilities of the ERP system could materially impair our ability to conduct our business, process transactions timely or produce accurate financial statements on a timely basis. If our ability to conduct our business, process transactions or produce accurate financial statements on a timely basis remains impaired, our business, results of operations and cash flows would be adversely affected.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">As a public company we are subject to significant accounting, legal and regulatory requirements; our failure to comply with these requirements may adversely affect our operating results and financial condition.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are subject to significant accounting, legal and regulatory requirements, including requirements and rules under the Sarbanes-Oxley Act, or SOX, and the Dodd-Frank Wall Street Reform and Consumer Protection Act, or Dodd-Frank, among other rules and regulations implemented by the SEC, as well as listing requirements of the New York Stock Exchange, or NYSE. We incur significant accounting, legal and other expenses and must invest substantial time and resources to comply with public company reporting and compliance requirements, including costs to ensure we have adequate internal controls over accounting and financial reporting, proper documentation and testing procedures among other requirements. We cannot be certain that the actions we have taken to implement internal controls over financial reporting will be sufficient. We have in the past discovered, and may in the future discover, areas of our internal financial and accounting controls and procedures that need improvement, particularly as we enhance, automate and improve functionality of our processes and internal applications, including Oracle&#8217;s cloud platform. New laws and regulations as well as changes to existing laws and regulations affecting public companies, including the provisions of SOX and Dodd-Frank and rules adopted by the SEC and the NYSE, would likely result in increased costs to us as we respond to their requirements. We continue to invest resources to comply with evolving laws and regulations, and this investment may result in increased general and administrative expense.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">If we fail to maintain proper and effective internal controls, our ability to produce accurate financial statements on a timely basis could be impaired, which would adversely affect our operating results and our stock price.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our management is responsible for establishing and maintaining adequate internal control over financial reporting to provide reasonable assurance regarding the reliability of our financial reporting and the preparation of financial statements in accordance with U.S. generally accepted accounting principles. Our management does not expect that our internal control over financial reporting will prevent or detect all error and all fraud. A control system, no matter how well designed and operated, can provide only reasonable, not absolute, assurance that the control system&#8217;s objectives will be met. Because of the inherent </span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">35</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">limitations in all control systems, no evaluation of controls can provide absolute assurance that misstatements due to error or fraud will not occur or that all control issues and instances of fraud, if any, within our company will have been detected. If we are unable to produce accurate financial statements on a timely basis, investors could lose confidence in the reliability of our financial statements, which could cause the market price of our common stock to decline and make it more difficult for us to finance our operations and growth.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Risks Related to Our Products</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Our products are highly technical and may contain undetected hardware or software defects or software bugs, which could harm our reputation and adversely affect our business.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our products, including our smart home and business systems and our cloud and software platforms, are highly technical and, when deployed, are critical to the operation of many networks. Our products have contained and may contain undetected defects, bugs or security vulnerabilities, which risks may be exacerbated as we continue to expand our cloud and software portfolio and include services from third-party partners. Some defects in our products may only be discovered after a product has been installed and used by customers and may in some cases only be detected under certain circumstances or after extended use. Any errors, bugs, defects or security vulnerabilities discovered in our products after commercial release could result in loss of revenue or delay in revenue recognition, loss of customers and increased service and warranty and retrofit costs, any of which could adversely affect our business, operating results and financial condition. In addition, we could face claims for security and data breach, product liability, tort or breach of warranty. Our contracts with customers contain provisions relating to warranty disclaimers and liability limitations, which may not be upheld. Defending a lawsuit, regardless of its merit, is costly and may divert management&#8217;s attention and adversely affect the market&#8217;s perception of us and our products. In addition, if our business liability insurance coverage proves inadequate or future coverage is unavailable on acceptable terms or at all, our business, operating results and financial condition could be adversely impacted.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">If we are unable to ensure that our products interoperate properly and as required within our customers&#8217; networks, our business will be harmed.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our products must interoperate with our customers&#8217; existing and planned networks, which often have varied and complex specifications, utilize multiple protocol standards, include software applications and customizations and products from multiple vendors and contain multiple generations of products that have been added over time. As a result, we must continually ensure that our products interoperate properly with these existing and planned networks. To meet these requirements, we must undertake development efforts, including test protocols, that require substantial capital investment and employee resources. We may not accomplish these development goals quickly or cost-effectively, if at all. If we fail to maintain compatibility with other software or equipment found in our customers&#8217; existing and planned networks, we may face substantially reduced demand for our products, which would reduce our revenue opportunities and market share. We rely upon interoperability arrangements with equipment and software vendors for the use or integration of their technology with our products. If these relationships fail, we may have to devote substantially more resources to the development of alternative products and processes and our efforts may not be as effective as the combined solutions under our current arrangements. In some cases, these other vendors are either companies that we compete with directly or companies that have extensive relationships with our existing and potential customers and may have influence over the purchasing decisions of those customers. Some of our competitors have stronger relationships with some of our interoperability partners, and as a result, our ability to have successful interoperability arrangements with these companies may be harmed. Our failure to establish or maintain key relationships with key interoperability vendors may harm our ability to successfully sell and market our products.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Our estimates regarding warranty or product obligations are highly subjective. If our estimates change, the liability for warranty or product obligations may be increased, impacting future cost of revenue.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our products are highly complex, and our product testing may not be adequate to detect all defects, errors, failures and quality issues. Accordingly, our estimates regarding future warranty or product obligations are highly subjective, and if our estimates change, the liability for warranty or product obligations may be increased, impacting future cost of revenue. Quality or performance problems for products covered under warranty could adversely impact our reputation and negatively affect our operating results and financial position. The development and production of new products with high complexity often involves problems with software, components and manufacturing methods. If significant warranty or other product obligations arise due to reliability or quality issues arising from defects in software, faulty components or improper manufacturing methods, our operating results and financial position could be negatively impacted by cost associated with fixing software or hardware defects; high service and warranty expenses; high inventory obsolescence expense; delays in collecting accounts receivable; payment of liquidated damages for performance failures; and loss of customer goodwill and future sales.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Our business and operations depend on proprietary technologies, and our financial performance may suffer if we cannot protect and enforce the intellectual property rights.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our success and ability to compete depend on proprietary technology. We rely significantly upon patent, copyright, trademark, trade secret and other IP laws, IP registration rights and agreements with our employees, customers, partners, suppliers and </span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">36</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">other parties, to establish and maintain IP rights necessary for our business and operations. U.S. IP laws afford us only limited protection, and the laws of some foreign countries do not protect proprietary rights to the same extent. Our patent applications may not result in issued patents, and our issued patents may not be enforceable. Our IP rights could be challenged, invalidated, infringed or circumvented any of which could impair or harm our business and operations and be costly to defend. Our failure to adequately protect our IP rights could result in our competitors offering similar products, resulting in the loss of our competitive advantage and decreased sales.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We and our third-party providers may be unable to adequately prevent unauthorized third-party copying or use of our IP. For example, contractual provisions protecting our IP could be breached, our IP could be reverse engineered or unlawfully distributed. It may become more difficult to adequately protect our IP as we expand our reliance on third parties for the design, development and/or manufacture of our products. In addition, we may become subject to increased risks arising from or related to security breaches or data loss and have greater difficulty protecting our IP as our work-from-anywhere workforce and work product become more distributed. Policing the unauthorized use of our IP is difficult and costly. Litigation, which could result in substantial costs, diversion of resources and harm to our business, may be necessary to enforce our IP rights, protect our trade secrets or determine the validity and scope of proprietary rights.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">If we are unable to obtain third-party technology licenses needed for our products and platform solutions, our business and operations will be impaired, and our operating results could be adversely affected.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We increasingly rely on technology licensed from third parties for our products and platform solutions. We may not be able to secure or maintain necessary technology licenses from these third parties on commercially reasonable terms or at all. Third parties may also choose to not renew licenses with us, demand unreasonable license fees or cease to offer technologies that we require. The inability to obtain necessary third-party licenses or to secure reasonable license terms at a cost acceptable to us could harm the competitiveness of our products and solutions, result in lost revenue and adversely affect our operating results. For example, we may be forced to forego product features or platform offerings, including features and offerings we believe are critical to our strategy, accept substitute technology of lower quality or performance standards or incur higher costs, or the time-to-market of our products or product features could be delayed. Furthermore, our ability to utilize third-party technology may be disrupted by disputes over IP rights, including claims of IP infringement, which could prevent us from offering or selling the products that utilize the disputed technology and adversely affect our operating results. </span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Our use of open source software could impose limitations on our ability to commercialize our products.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We incorporate open source software into our products. The terms of many open source software licenses have not been interpreted by the courts, and there is a risk that such licenses could be construed in a manner that could impose unanticipated conditions or restrictions on our ability to sell our products. In such event, we could be required to make our proprietary software generally available to third parties, including competitors, at no cost, to seek licenses from third parties in order to continue offering our products, to re-engineer our products or to discontinue the sale of our products in the event re-engineering cannot be accomplished on a timely basis or at all, any of which could adversely affect our revenue and operating expenses.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Macroeconomic and Industry Risks</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Adverse global economic conditions, geopolitical issues and other conditions that impact our increasingly global operations could have a negative effect on our business, results of operations and financial condition and liquidity.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a global company, our performance is affected by global economic conditions as well as geopolitical issues and other conditions with global reach. In recent years, concerns about the global economic outlook have adversely affected market and business conditions in general. Macroeconomic weakness and uncertainty make it more difficult for us to manage our operations and accurately forecast revenue, gross margin and expenses. Geopolitical issues, such as ongoing conflicts between the United States and China, tariff and trade policy changes, increasing potential of conflict involving countries in Asia that are critical to our supply chain operations, such as Taiwan and China, and the withdrawal of the United Kingdom from the European Union, have resulted in increasing global tensions and create uncertainty for global commerce. In particular, we incurred substantial costs and diversion of resources realigning our supply chain operations to move substantially all of our product manufacturing to locations outside of China as a result of U.S. tariff and trade policy changes. The global impact of the COVID-19 pandemic continues to create shortages in component and supplies and otherwise disrupt and delay our global supply chain operations. Moreover, shipping backlogs and similar disruptions to transportation infrastructure due to an increasing surge in the global demand for goods has exacerbated supply chain challenges. Sustained or worsening of global economic conditions, geopolitical issues and other adverse global economic conditions may increase our cost of doing business, materially disrupt our supply chain operations, cause our customers to reduce or delay spending and intensify pricing pressures. Any or all of these factors could negatively affect demand for our products and our business, financial condition and result of operations.</span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">37</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">We face intense competition that could reduce our revenue and adversely affect our financial results.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The market for our products is highly competitive, and we expect competition from both established and new companies to increase. Our ability to compete successfully depends on a number of factors, including our ability to successfully develop new products and solutions that anticipate BSP and market requirements and changes in technology and industry standards; BSP acceptance and adoption of our products and solutions; our ability to differentiate our products from our competitors&#8217; offerings based on performance, features, cost-effectiveness or other factors; our product capabilities to meet customer network requirements and preferences; and our success in marketing and selling our products and platform solutions. </span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Many of our current or potential competitors have longer operating histories, greater name recognition, broader product lines, larger customer bases and significantly greater financial, technical, sales, marketing and other resources than we do and are better positioned to acquire and offer complementary products and services. The broadband access equipment market has undergone and continues to undergo consolidation, as participants have merged, made acquisitions or entered into partnerships or other strategic relationships with one another to offer more comprehensive solutions than they individually had offered. Potential customers may also prefer to purchase from their existing suppliers rather than a new supplier, regardless of product performance or features, because the products that we and our competitors offer require a substantial investment of time and funds to qualify and install. The recent demand on network capacity due to shelter-in-place restrictions and shift towards remote workforces may attract new market entrants with competitive or substitutive products, which may lead to increased sales cycles, cause pricing pressure and impact adoption of our platforms due to the broader availability of product offerings. Some of our competitors may offer substantial discounts or rebates to win or retain customers. If we are forced to reduce prices to secure customers, we may be unable to sustain gross margin at desired levels or profitability. Competitive pressures could result in increased pricing pressure, reduced profit margin, increased sales and marketing expenses and failure to increase, or the loss of, market share, any of which could reduce our revenue and adversely affect our financial results.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Our industry is characterized by rapid technological advance, and if we fail to develop new products or enhancements that meet changing BSP requirements, we could experience lower sales.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our industry is characterized by rapid technological change, changing needs of BSPs, evolving industry standards and frequent introductions of new products and platforms. We invest significant amounts to pursue innovative technologies that we believe will be adopted by BSPs. For example, we have invested and continue to invest resources in our cloud and software platforms. In addition, on an ongoing basis, we expect to reposition our product and service offerings and introduce new offerings as we encounter rapidly changing BSP requirements and increasing competitive pressures. If we cannot increase sales of our new platforms and services, keep pace with rapid technological developments to meet customer needs and compete with evolving standards or if the technologies we choose to invest in fail to meet customer needs or are not adopted by customers in the timeframes that we expect, our financial condition and results of operations would be adversely affected.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Developing our products is complex and involves uncertainties, including pricing risks for key materials, component shortages and limited suppliers. We may experience design, manufacturing, software development quality, support, marketing and other difficulties that could delay or prevent the development, introduction or marketing of new products and enhancements. If we fail to meet our development targets, demand for our products will decline. If we are unable to anticipate and develop new products or enhancements to our existing products on a timely and cost-effective basis, our products may become technologically obsolete more rapidly than anticipated over time, resulting in lower sales which would harm our business. Furthermore, the introduction of new or enhanced products also requires that we manage the transition from older products in accordance with customer requirements. If we fail to maintain compatibility requirements in our customers&#8217; networks, demand for our products would decline, which would reduce our revenue opportunities and market share.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Increasingly, we have relied on third-party development partners to meet our development needs to remain competitive. Investment in third-party development services for our product and service platforms reduces our direct control and may result in increased challenges in design, integration and support of the third-party features in our product and service offerings. In addition, these investments may take several years to generate positive returns, if ever. We have engineering services arrangements that include future revenue-share payments on our sale of the developed products and that require us to make minimum payments whether or not we achieve the desired revenue levels. If our actual demand falls short of expectations, we will be obligated to make the minimum payments, and we may be required to write-down the value of the developed products, which could adversely affect our financial results. </span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Our sales cycles can be long and unpredictable, and our sales efforts require considerable time and expense. As a result, our sales are difficult to predict and may vary substantially, which may cause our operating results to fluctuate significantly.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The timing of our revenue is difficult to predict. Our sales efforts often involve educating BSPs about the use and benefits of our products, platforms and services. BSPs typically undertake a significant evaluation process, which frequently involves not only our products, platforms and services, but also those of our competitors and results in a lengthy sales cycle. Sales cycles for larger customers are relatively longer and require considerably more time and expense. We spend substantial time, effort and money in our sales efforts without any assurance that our efforts will produce sales. In addition, product purchases are </span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">38</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">frequently subject to budget constraints, multiple approvals and unplanned administrative, processing and other delays. The timing of revenue related to sales of products and services that have installation requirements may be difficult to predict due to interdependencies that may be beyond our control, such as BSP testing and turn-up protocols or other vendors&#8217; products, services or installations of equipment upon which our products and services rely. Such delays may result in fluctuations in our quarterly revenue. If sales expected from a specific customer for a particular quarter are not realized in that quarter or at all, we may not achieve our revenue forecasts and our financial results would be adversely affected.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Our business is dependent on the capital spending patterns and decisions of BSPs, and any decrease or delay in capital spending by BSPs, including due to the timing and availability of capital, would reduce our revenue and harm our business.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Demand for our products depends on the magnitude and timing of capital spending by BSPs as they construct, expand, upgrade and maintain their access networks as well as BSPs&#8217; adoption of our platforms and cloud-based services. Capital spending is cyclical in our industry, sporadic among individual BSPs and can change on short notice, which gives us little visibility into changes in spending behavior in any particular quarter. Capital spending for network infrastructure projects could be delayed or canceled in response to factors outside our control, such as reduced consumer spending, challenging capital markets or declining liquidity trends. BSP spending is also affected by reductions in budgets, delays in purchasing cycles, access to government funding programs or capital markets, and seasonality and delays in capital allocation decisions. Historically, our customers may spend less or have less deployments in the first quarter due to pending annual budgets or, in certain regions, due to weather conditions that inhibit outside fiber deployment, resulting in weaker demand for our products in the first quarter. Softness in demand in any of our customer markets, including due to macro-economic conditions beyond our control or uncertainties associated with regulatory reforms, has in the past and could in the future lead to unexpected decline or slowdown in customer capital expenditure. Further, BSPs may pursue capital investment in network technologies other than those offered by us or may choose not to adopt our products and platform solutions in their networks. Reductions in capital expenditures by BSPs, particularly our significant customers, would have a material negative impact on our revenue and results of operations and slow our rate of revenue growth. As a consequence, our results for a particular period may be difficult to predict, and our prior results are not necessarily indicative of results in future periods.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Historically, our customer base has been concentrated, and the loss of any of our key customers may adversely impact our revenue and results of operations, and any delays in payment by a key customer could negatively impact our cash flows and working capital.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Historically, a large portion of our sales has been, and in the future may be, to a limited number of large customers. Changes in the BSP market, such as financial difficulties, spending cuts or corporate consolidations that impact purchasing decisions by these customers have and may again negatively impact our revenue, and as a result, revenue from such customers may remain flat or continue to decline. For example, Lumen, our only greater than 10% customer in 2019 and 2020, completed a large acquisition in 2017 and subsequently reorganized and rebranded, which disrupted its historical levels of purchases with us and has continued to result in significantly reduced levels of purchases such that they have not been a 10% customer in the last year. There is no assurance that purchasing levels by Lumen will increase from current levels. We have continued to experience delays or declines in purchases by certain BSPs due to deterioration in their financial condition. For example, Windstream and Frontier, two of our medium-sized customers, each completed a financial restructuring and emerged from Chapter 11 bankruptcy in September 2020 and April 2021, respectively. Any decrease or delay in purchases and/or capital expenditure plans of any of our key customers, particularly if prolonged or sustained, or our inability to grow our sales with existing customers, may have a material negative impact on our revenue and results of operations.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, some larger customers may demand discounts and rebates or desire to purchase their access systems and software from multiple providers. As a result of these factors, our future revenue opportunities may be limited, and we may face pricing pressures, which in turn could adversely impact our gross margin and our profitability. The loss of, reduction in or pricing discounts associated with orders from any key customer would significantly reduce our revenue and harm our business. Furthermore, delays in payment and/or extended payment terms from any of our key or larger customers could have a material negative impact on our cash flows and working capital to support our business operations.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Over the years, the BSP market has undergone substantial consolidation, reducing the number of potential customers and delays or decreases in capital spending. Continued consolidation of the BSP industry and among independent local exchange carriers and IOC customers, who represent a large part of our business, could make it more difficult for us to grow our customer base, increase sales of our products and maintain adequate gross margin.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Government-sponsored programs and U.S. federal government shutdowns could impact the timing and buying patterns of BSPs, which may cause fluctuations in our operating results.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We sell to BSPs, which include U.S.-based Independent Operating Companies, or IOCs, which have revenue that is particularly dependent upon interstate and intrastate access charges and federal and state subsidies. The Federal Communications Commission, or FCC, and some states may consider changes to such payments and subsidies, and these changes could reduce IOC revenue. Furthermore, many IOCs use or expect to use government-supported loan programs or grants, such as Rural </span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">39</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Utility Service loans and grants, to finance capital spending. These government-supported loan programs and grants generally include conditions such as deployment criteria, domestic preference provisions and other requirements that apply to the project and selected equipment as conditions for funding. For example, the U.S. government recently introduced legislation imposing domestic preference requirements for infrastructure programs that receive federal funding. Changes to the terms or administration of these programs, including uncertainty from government and administrative change, increasing focus on domestic requirements by the U.S. that may require re-assessment of compliance, potential funding limitations that impact our ability to meet program requirements or delays due to U.S. federal government shutdowns could reduce the ability of IOCs to access capital or secure funding these programs to purchase our products and services and thus reduce our revenue opportunities. Many of our customers depend heavily on grants, loans or funds distributed under government stimulus programs such as the FCC&#8217;s CAF, the CARES Act or the more recent Rural Digital Opportunity Fund. Customers may curtail purchases if they receive less funding than planned, are negatively impacted by federal government shutdowns or changes in government regulations and subsidies, or as funding winds down, any of which could have an adverse effect on our operating results and financial condition.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Government and Regulatory Risks</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Increasing data privacy regulations could impact our business and expose us to increased liability.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Government and regulatory authorities in the United States and around the world have implemented and are continuing to implement broader and more stringent laws and regulations concerning data protection. The interpretation and application of these data protection laws and regulations are often uncertain and changing, and it is possible that they may be interpreted and applied in a manner that is inconsistent with our data practices. For example, the General Data Protection Regulation, or GDPR, adopted by the European Union, or EU, imposes specific duties and requirements upon companies that collect, process or control personal data of EU residents. Although we currently do not have material operations or business in the EU, we would incur substantial costs in order to expand our business and operations to the EU. Furthermore, the GDPR imposes significant penalties for noncompliance of up to the greater of &#8364;20 million or 4% of a company&#8217;s worldwide revenue; accordingly, any non-compliance with the GDPR could result in a material adverse effect on our business, financial condition and results of operations. In January 2020, the California Consumer Privacy Act became effective, imposing significant new data privacy rights for consumers and requirements for the handling of consumer personal data. In July 2020, the Court of Justice of the EU invalidated the EU-U.S. Privacy Shield as a valid mechanism for the transfer of personal data from the EU to the United States. Additionally, in November 2020 California adopted the California Privacy Rights Act, which creates further obligations relating to consumer data beginning in January 2022, with enforcement beginning July 2023.Complying with new and changing laws could cause us to incur substantial costs in order to market and sell our cloud-based solutions in the U.S. and internationally, deter customers from adopting our cloud-based solutions or require us to redesign our platform in order to meet customer requirements related to such laws. Regulatory actions or claims involving our practices in the collection, storage, processing, use or disclosure of consumer information or other personal data, even if unfounded, could damage our reputation and adversely affect our operating results. The failure or perceived failure to comply may result in government or civil proceedings or actions against us, or could cause us to lose customers, which could have an adverse effect on our business.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">If we fail to comply with evolving industry standards, sales of our products would be adversely affected.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The markets for our products are characterized by a significant number of domestic and international standards which evolve as new technologies are developed and deployed. As we expand into new global markets, we are likely to encounter additional standards. Our products must comply with these standards in order to be widely marketable. In some cases, we are required to obtain certifications or authorizations before our products can be introduced, marketed or sold in new markets or to new customers. For example, our ability to maintain Operations System Modification for Intelligent Network Elements certification for our products will affect our ongoing ability to continue to sell our products to large BSPs. In addition, our ability to expand our international operations may be limited by standards in countries or may require us to redesign our products or develop new products to meet local standards. We may not be able to design our products to comply with local requirements, which would harm our ability to grow our business. Moreover, as we expand our business and operations globally, we must make increasing investments to maintain compliance with evolving standards across a broader global footprint. The costs of complying with evolving standards or failure to obtain timely domestic or foreign authorizations or certification could prevent us from selling our products where these standards or regulations apply, which would result in lower revenue and lost market share.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Our failure or the failure of our manufacturers to comply with environmental and other legal regulations could adversely impact our results of operations.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The manufacture, assembly and testing of our products may require the use and disposal of hazardous materials that are subject to environmental, health and safety regulations, or materials subject to laws restricting the use of conflict minerals. We depend substantially on our third-party manufacturers to comply with these requirements. Any failure by us or our third-party manufacturers to comply with these requirements could result in regulatory penalties, legal claims or disruption of production of our products. In addition, any failure to properly manage the use, transportation, emission, discharge, storage, recycling or </span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">40</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">disposal of hazardous materials could subject us to increased costs or liabilities. Existing and future environmental regulations and other legal requirements may restrict our use of certain materials to manufacture, assemble and test products. Any of these consequences could adversely impact our results of operations by increasing our expenses and/or requiring us to alter our manufacturing processes.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">We are subject to governmental export and import controls that could subject us to liability or impair our ability to compete in additional international markets.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our products are subject to U.S. export and trade controls and restrictions. International shipments of certain of our products may require export licenses or are subject to additional export requirements. In addition, the import laws of other countries may limit our ability to distribute our products, or our customers&#8217; ability to buy and use our products, in those countries. Changes in our products or changes in export and import regulations or duties may create delays in the introduction of our products in international markets, prevent our customers with international operations from deploying our products or, in some cases, prevent the export or import of our products to certain countries altogether. Any change in export or import regulations, duties or related legislation, shift in approach to the enforcement or scope of existing regulations, or change in the countries, persons or technologies targeted by such regulations, could negatively impact our ability to sell, profitably or at all, our products to existing or potential international customers.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Regulatory and physical impacts of climate change and other natural events may affect our customers and our manufacturers, resulting in adverse effects on our operating results.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As emissions of greenhouse gases continue to alter the composition of the atmosphere, affecting large-scale weather patterns and the global climate, any new regulation of greenhouse gas emissions may result in additional costs to our customers and our manufacturers. In addition, the physical impacts of climate change and other natural events, including changes in weather patterns, drought, rising ocean and temperature levels, earthquakes and tsunamis may impact our customers, suppliers and manufacturers, and our operations. These potential physical effects may adversely affect our revenue, costs, production and delivery schedules, and cause harm to our results of operations and financial condition.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Our customers are subject to government regulation, and changes in current or future laws or regulations that negatively impact our customers could harm our business.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The FCC has jurisdiction over our U.S. customers and FCC regulatory policies that create disincentives for investment in access network infrastructure or impact the competitive environment in which our customers operate may harm our business. For example, adoption of regulations that affect providers of broadband Internet access services could impede the penetration of our customers into certain markets or affect the prices they may charge in such markets. Similarly, changes to regulatory tariff requirements or other regulations relating to pricing or terms of carriage on communication networks could slow the development or expansion of network infrastructures, which could adversely affect the sale of our products and services. Many of our customers are subject to FCC rate regulation of interstate telecommunications services and are recipients of government stimulus payments. The imposition of limits or restrictions on access to these programs could affect the ability of IOCs to access capital, which would in turn reduce our revenue opportunities. In addition, many of our customers are subject to state regulation of intrastate telecommunications services, including rates for such services, and may also receive funding from state universal service funds. Changes in rate regulations or universal service funding rules, either at the U.S. federal or state level, could adversely affect our customers&#8217; revenue and capital spending plans. Moreover, various international regulatory bodies have jurisdiction over certain of our non-U.S. customers. Changes in these domestic and international standards, laws and regulations, or judgments in favor of plaintiffs in lawsuits against BSPs based on changed standards, laws and regulations could adversely affect the development of broadband networks and services. This, in turn, could directly or indirectly adversely impact the communications industry in which our customers operate.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Risks Related to Ownership of Our Common Stock</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Our stock price may continue to be volatile, and the value of an investment in our common stock may decline.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The trading price of our common stock has been, and is likely to continue to be, volatile, which means that it could decline substantially within a short period of time and could fluctuate widely in response to various factors, some of which are beyond our control. These factors include those discussed above and others such as quarterly variations in our results of operations or those of our competitors; failure to meet any guidance that we have previously provided regarding our anticipated results; changes in earnings estimates or recommendations by securities analysts; failure to meet securities analysts&#8217; estimates; announcements by us or our competitors of new products, significant contracts, commercial relationships, acquisitions or capital commitments; developments with respect to IP rights; our ability to develop and market new and enhanced products on a timely basis; our commencement of, or involvement in, litigation and developments relating to such litigation; changes in governmental regulations; and a slowdown in the communications industry or the general economy.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In recent years, the stock market in general, and the market for technology companies in particular, has experienced extreme price and volume fluctuations that have often been unrelated or disproportionate to the operating performance of those </span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">41</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">companies. Broad market and industry factors may seriously affect the market price of our common stock, regardless of our actual operating performance. Recently, the COVID-19 pandemic has severely impacted U.S. markets, causing dramatic swings in the U.S. stock exchanges that resulted in increased volatility in the trading price of our common stock. Historically, following periods of volatility in the overall market and the market price of a particular company&#8217;s securities, securities class action litigation has often been instituted against these companies. Such litigation, if instituted against us, could result in substantial costs and a diversion of our management&#8217;s attention and resources.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">If securities or industry analysts do not publish research or reports about our business or if they issue an adverse or misleading opinion regarding our stock, our stock price and trading volume could decline.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The trading market for our common stock is influenced by the research and reports that industry or securities analysts publish about us or our business. If any of the analysts who cover us issue an adverse or misleading opinion regarding our stock, our stock price would likely decline. If several of these analysts cease coverage of our company or fail to publish reports on us regularly, we could lose visibility in the financial markets, which could cause our stock price or trading volume to decline.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Provisions in our charter documents and under Delaware law could discourage a takeover that stockholders may consider favorable and may lead to entrenchment of our management and Board of Directors.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our amended and restated certificate of incorporation and amended and restated bylaws contain provisions that could have the effect of delaying or preventing changes in control or changes in our management or our Board of Directors. These provisions include: (1) a classified Board of Directors with three-year staggered terms, which may delay the ability of stockholders to change the membership of a majority of our Board of Directors; (2) no cumulative voting in the election of directors, which limits the ability of minority stockholders to elect director candidates; (3) the exclusive right of our Board of Directors to elect a director to fill a vacancy created by the expansion of the Board of Directors or the resignation, death or removal of a director, which prevents stockholders from being able to fill vacancies on our Board of Directors; (4) the ability of our Board of Directors to issue shares of preferred stock and to determine the price and other terms of those shares, including preferences and voting rights, without stockholder approval, which could be used to significantly dilute the ownership of a hostile acquirer; (5) a prohibition on stockholder action by written consent, which forces stockholder action to be taken at an annual or special meeting of our stockholders; (6) the requirement that a special meeting of stockholders may be called only by the chairman of the Board of Directors, the chief executive officer or the Board of Directors, which may delay the ability of our stockholders to force consideration of a proposal or to take action, including the removal of directors; and (7) advance notice procedures that stockholders must comply with in order to nominate candidates to our Board of Directors or to propose matters to be acted upon at a stockholders&#8217; meeting, which may discourage or deter a potential acquirer from conducting a solicitation of proxies to elect the acquirer&#8217;s own slate of directors or otherwise attempting to obtain control of us. We are also subject to certain anti-takeover provisions under Delaware law. Under Delaware law, a corporation may not, in general, engage in a business combination with any holder of 15% or more of its capital stock unless the holder has held the stock for three years or, among other things, the Board of Directors has approved the transaction.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">We may need additional capital in the future to finance our business.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our working capital needs and cash use have continued to increase to support our business operations and growth, and we may need additional capital if our current plans and assumptions change. Under the BofA Loan Agreement, our available borrowing base is subject to our financial condition. If our financial position deteriorates, our borrowing capacity under the credit facility may be reduced. Failure to maintain certain restrictive covenants and requirements under the BofA Loan Agreement could result in limiting the amount of borrowings that are available to us, increase the cost of borrowings under the credit facility and/or cause us to make immediate payments to reduce borrowings or result in an event of default. If future financings involve the issuance of equity securities, our then-existing stockholders would suffer dilution. If we raise additional debt financing, we may be subject to restrictive covenants that limit our ability to conduct our business. If we are unable to sustain positive operating income and cash flows from operations, our liquidity, results of operations and financial condition may be adversely affected. Furthermore, if we are unable to generate sufficient cash flows to support our operational needs, we may need to seek additional sources of liquidity, including borrowings, to support our working capital needs. In addition, we may choose to seek other sources of liquidity even if we believe we have generated sufficient cash flows to support our operational needs. There is no assurance that any other sources of liquidity may be available to us on acceptable terms or at all. If we are unable to generate sufficient cash flows or obtain other sources of liquidity, we will be forced to limit our development activities, reduce our investment in growth initiatives and institute cost-cutting measures, all of which would adversely impact our business and growth.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Our ability to incur debt could be limited by covenants in our loan and security agreement for our revolving credit facility.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The BofA Loan Agreement includes covenants that place certain restrictions on our ability to, among other things, borrow secured debt or unsecured debt beyond a certain amount, create or suffer to exist any liens, sell or transfer any assets, make distributions, liquidate, dissolve, merge, amalgamate, combine or consolidate, or become a party to certain agreements restricting our ability to incur or repay debt, grant liens, make distributions or modify loan agreements, in each case subject to </span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">42</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">certain exceptions. Failure to maintain these covenants can limit the amount of borrowings that are available to us, increase the cost of borrowings under the facility and/or require us to make immediate payments to reduce borrowings. The BofA Loan Agreement covenants may also affect our ability to obtain future financing and to pursue attractive business opportunities and our flexibility in planning for, and reacting to, changes in business conditions. These covenants could place us at a disadvantage compared to some of our competitors.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">We do not currently intend to pay dividends on our common stock and, consequently, our stockholders&#8217; ability to achieve a return on their investment will depend on appreciation in the price of our common stock.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We do not currently intend to pay any cash dividends on our common stock for the foreseeable future. We currently intend to invest our future earnings, if any, to fund our growth. Additionally, the terms of our credit facility restrict our ability to pay dividends under certain circumstances. Therefore, our stockholders are not likely to receive any dividends on our common stock for the foreseeable future.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Our failure to adequately address and resolve risks and uncertainties associated with acquisitions could have a material adverse impact on our financial condition and results of operations.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We may in the future acquire businesses, products or technologies to expand our product offerings and capabilities, customer base and business. We have evaluated and expect to continue to evaluate a wide array of potential strategic transactions. Such investments may involve significant risks and uncertainties, including distraction of management from current operations, unanticipated costs, and legal and regulatory challenges, all of which could have a material adverse impact on our financial condition and results of operations. In addition, the anticipated benefit of any acquisition may never materialize or the process of integrating acquired businesses, products or technologies may create unforeseen operating difficulties and expenditures.</span></div><div id="i5d41e0a2263341439e48bd03d8d3586a_100"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 2.  Unregistered Sales of Equity Securities and Use of Proceeds</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div id="i5d41e0a2263341439e48bd03d8d3586a_103"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 3.  Defaults Upon Senior Securities</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div id="i5d41e0a2263341439e48bd03d8d3586a_106"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 4.  Mine Safety Disclosures</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Not applicable.</span></div><div id="i5d41e0a2263341439e48bd03d8d3586a_109"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 5.  Other Information</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">43</span></div></div></div><div id="i5d41e0a2263341439e48bd03d8d3586a_112"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="-sec-extract:summary;margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;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:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><div style="-sec-extract:summary;margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 6.  Exhibits</span></div><div style="margin-top:5pt"><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:11.272%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.527%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:85.217%"></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></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:10pt;font-weight:700;line-height:100%">Exhibit<br/>Number</span></td><td colspan="3" style="padding:0 1pt"></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:700;line-height:100%">Description</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><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 style="height:3pt"><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 #000000;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:10pt;font-weight:400;line-height:100%">10.1*</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%"><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:none" href="exhibit101non-employeedire.htm">Calix, Inc. Non-Employee Director Cash Compensation Policy, as amended August 11, 2021.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:3pt"><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:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.2*</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%"><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:none" href="exhibit102secondamendmentt.htm">Second Amendment to Letter Agreement</a><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:none" href="exhibit102secondamendmentt.htm"> between Calix, Inc. and Michael Weening</a><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:none" href="exhibit102secondamendmentt.htm"> </a><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:none" href="exhibit102secondamendmentt.htm">dated August 11, 2021</a><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:none" href="exhibit102secondamendmentt.htm">.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:3pt"><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: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.1</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%"><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:none" href="calx_21q3ex311.htm">Certification of Chief Executive Officer of Calix, Inc. Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:3pt"><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: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.2</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%"><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:none" href="calx_21q3ex312.htm">Certification of Chief Financial Officer of Calix, Inc. Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:3pt"><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: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.1</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%"><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:none" href="calx_21q3ex321.htm">Certification of Chief Executive Officer and Chief Financial Officer of Calix, Inc. Pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" 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: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></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" 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: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></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" 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: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></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" 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: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></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" 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: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></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" 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: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></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="margin-bottom:5pt;margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:174%">* Indicates management contract or compensatory plan or arrangement.</span></div><div><span><br/></span></div><div style="margin-bottom:5pt;margin-top:5pt"><span><br/></span></div><div><span><br/></span></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">44</span></div></div></div><div id="i5d41e0a2263341439e48bd03d8d3586a_115"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:6pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7">Table</a></span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i5d41e0a2263341439e48bd03d8d3586a_7"> of Contents</a></span></div></div><div style="border-color:#000000;border-style:solid;border-width:1.00pt;padding:45.00pt 49.50pt 45.00pt 49.50pt"><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%">SIGNATURES</span></div><div style="margin-top:9pt"><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="margin-top:5pt"><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:60.742%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.432%"></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:31.796%"></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:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" 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%">CALIX, INC.<br/>(Registrant)</span></td></tr><tr style="height:3pt"><td colspan="12" style="padding:0 1pt"></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:10pt;font-weight:400;line-height:100%">Date: October 26, 2021</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%">By:</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:10pt;font-weight:400;line-height:100%">/s/ Carl Russo</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:10pt;font-weight:400;line-height:100%">&#160;</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:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Carl Russo</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:10pt;font-weight:400;line-height:100%">&#160;</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:10pt;font-weight:700;line-height:100%">Chief Executive Officer<br/>(Principal Executive Officer)</span></td></tr><tr style="height:3pt"><td colspan="12" style="padding:0 1pt"></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:10pt;font-weight:400;line-height:100%">Date: October 26, 2021</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%">By:</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:10pt;font-weight:400;line-height:100%">/s/ Cory Sindelar</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:10pt;font-weight:400;line-height:100%">&#160;</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:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Cory Sindelar</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:10pt;font-weight:400;line-height:100%">&#160;</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:10pt;font-weight:700;line-height:100%">Chief Financial Officer<br/>(Principal Financial Officer)</span></td></tr><tr style="height:3pt"><td colspan="12" style="padding:0 1pt"></td></tr></table></div></div><div style="height:45pt;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:9pt;font-weight:400;line-height:120%">45</span></div></div></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.1
<SEQUENCE>2
<FILENAME>exhibit101non-employeedire.htm
<DESCRIPTION>EX-10.1
<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 2021 Workiva -->
<title>Document</title></head><body><div id="i78ac5d3ced4f4c03a6d19804fe47a214_1"></div><div style="min-height:72pt;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">Exhibit 10.1</font></div></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">CALIX, INC.</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:11pt;font-weight:700;line-height:120%">Non-Employee Director Cash Compensation Policy, as amended August 11, 2021</font></div><div style="text-align:center"><font><br></font></div><div><font><br></font></div><div style="text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%;padding-left:27.75pt;text-decoration:underline">General</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">. This Non-Employee Director Cash Compensation Policy (&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%;text-decoration:underline">Policy</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#8221;) was adopted by the Board of Directors (&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%;text-decoration:underline">Board</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#8221;) of Calix, Inc. (&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%;text-decoration:underline">Company</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#8221;) on August 11, 2021 and is effective as of July 26, 2021</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.15pt;font-weight:400;line-height:120%;position:relative;top:-3.85pt;vertical-align:baseline">1</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">.</font></div><div style="padding-left:36pt;text-align:justify"><font><br></font></div><div style="text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%;padding-left:27.75pt;text-decoration:underline">Annual Cash Compensation</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">. Each member of the board who is not employed by the Company or one of its affiliates shall be entitled to an annual retainer with the amount determined as follows (the net sum for each director, his or her &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%;text-decoration:underline">Annual Retainer</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#8221;)&#58;</font></div><div><font><br></font></div><div style="margin-bottom:6pt;padding-left:2.25pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.038%"><tr><td style="width:1.0%"></td><td style="width:84.336%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.464%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 5.57pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:125%;text-decoration:underline">Amount</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:125%">Base Retainer</font></td><td colspan="3" style="background-color:#cceeff;padding:2px 11.87pt 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">$50,000</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">Board and Committee Chair Service </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">(in addition to Base Retainer)</font></div></td><td colspan="3" style="padding:2px 11.87pt 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">&#160;</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 32.5pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">Board Chair</font></td><td colspan="3" style="background-color:#cceeff;padding:2px 11.87pt 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">$50,000</font></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 32.5pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">Lead Independent Director</font></td><td colspan="3" style="padding:2px 11.87pt 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">$25,000</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 32.5pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">Audit Committee Chair</font></td><td colspan="3" style="background-color:#cceeff;padding:2px 11.87pt 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">$35,000</font></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 32.5pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">Compensation Committee Chair</font></td><td colspan="3" style="padding:2px 11.87pt 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">$20,000</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 32.5pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">Nominating and Corporate Governance Committee Chair</font></td><td colspan="3" style="background-color:#cceeff;padding:2px 11.87pt 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">$10,000</font></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 32.5pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">Cybersecurity Committee Chair</font></td><td colspan="3" style="padding:2px 11.87pt 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">$10,000</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 32.5pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">Strategic Committee Chair</font></td><td colspan="3" style="background-color:#cceeff;padding:2px 11.87pt 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">$10,000</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">Non-Chair Committee Service </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">(in addition to Base Retainer)</font></div></td><td colspan="3" style="padding:2px 11.87pt 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">&#160;</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 32.5pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">Audit Committee</font></td><td colspan="3" style="background-color:#cceeff;padding:2px 11.87pt 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">$10,000</font></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 32.5pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">Compensation Committee</font></td><td colspan="3" style="padding:2px 11.87pt 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">$7,500</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 32.5pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">Nominating and Corporate Governance Committee</font></td><td colspan="3" style="background-color:#cceeff;padding:2px 11.87pt 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">$5,000</font></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 32.5pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">Cybersecurity Committee</font></td><td colspan="3" style="padding:2px 11.87pt 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">$5,000</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 32.5pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">Strategic Committee</font></td><td colspan="3" style="background-color:#cceeff;padding:2px 11.87pt 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:125%">$5,000</font></td></tr></table></div><div><font><br></font></div><div style="text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">3.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%;padding-left:27.75pt;text-decoration:underline">Timing of Payment</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">. Annual Retainers shall be paid in quarterly installments in arrears, generally during the first week of the Company&#8217;s fiscal quarter following the quarter of service. Installments will be pro-rated for any partial period of service.</font></div><div style="padding-left:36pt;text-align:justify"><font><br></font></div><div style="text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">4.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%;padding-left:27.75pt;text-decoration:underline">Policy Subject to Amendment, Modification and Termination</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">. This Policy may be amended, modified or terminated by the Board at any time in the future at its sole discretion.</font></div><div style="padding-left:36pt"><font><br></font></div><div><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">* * * *</font></div><div style="border-bottom:1pt solid black;margin-bottom:5pt;margin-top:10pt;width:150pt"></div><div><font 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</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The Company&#8217;s Lead Independent Director was appointed on July 26, 2021.</font></div><div style="height:72pt;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-10.2
<SEQUENCE>3
<FILENAME>exhibit102secondamendmentt.htm
<DESCRIPTION>EX-10.2
<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 2021 Workiva -->
<title>Document</title></head><body><div id="i6d2ca56efaf044a893050eb0c0b7a3a7_1"></div><div style="min-height:101.9pt;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">Exhibit 10.2</font></div><div><img alt="image_0a.jpg" src="image_0a.jpg" style="height:60px;margin-bottom:5pt;vertical-align:text-bottom;width:146px"></div></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">August 11, 2021</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:11pt;font-weight:700;line-height:118%">Michael Weening&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:118%">(VIA EMAIL AND DOCUSIGN)</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:118%">President and COO</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:118%">Calix, Inc.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:118%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:118%">(michael.weening&#64;calix.com)</font></div><div><font><br></font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-22.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:118%">Re&#58;&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:118%;text-decoration:underline">Second Amendment to Letter Agreement for Relocation Allowance (&#8220;Second Amendment&#8221;)</font></div><div style="padding-left:36pt;text-indent:-22.5pt"><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">Dear Michael&#58;</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">This Second Amendment amends the Letter Agreement dated November 27, 2019, between Calix, Inc. (the &#8220;Company&#8221;) and you, as previously amended (the &#8220;Letter Agreement&#8221;).  Capitalized terms not defined herein have the meaning ascribed in the Letter Agreement.</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">The Letter Agreement is hereby amended to provide&#58;</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:11pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%;padding-left:9.75pt">The Relocation Date shall be extended to two (2) years from the date of this letter, or August 11, 2023.</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:11pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%;padding-left:9.75pt">The Relocation Condition shall be considered met by your purchase of and relocation to a residence in the general vicinity of the Company&#8217;s offices in San Jose, California.</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">Except as expressly amended herein, the Letter Agreement remains in full force and effect in accordance with its terms.</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">Please countersign below to acknowledge and accept this Second Amendment. </font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;Very truly yours,</font></div><div><font><br></font></div><div style="padding-left:216pt;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%;text-decoration:underline">&#47;s&#47; Carl Russo     &#160;&#160;&#160;&#160;</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">Calix, Inc.</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;By&#58; Carl Russo</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;Title&#58; Chairman and CEO</font></div><div><font><br></font></div><div><font><br></font></div><div style="margin-bottom:6pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">ACKNOWLEDGED AND AGREED&#58;</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:11pt;font-weight:400;line-height:120%;text-decoration:underline">&#47;s&#47; Michael Weening&#160;&#160;&#160;&#160;</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">Michael Weening</font></div><div style="height:101.33pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="padding-left:162pt;padding-right:-50.4pt;text-indent:234pt"><font style="color:#0b38db;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">2777 Orchard Parkway</font></div><div style="padding-left:162pt;padding-right:-50.4pt;text-indent:234pt"><font style="color:#0b38db;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">San Jose, CA 95134</font></div><div style="padding-left:162pt;padding-right:-50.4pt;text-indent:234pt"><font style="color:#0b38db;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">www.calix.com</font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>4
<FILENAME>calx_21q3ex311.htm
<DESCRIPTION>EX-31.1
<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 2021 Workiva -->
<title>Document</title></head><body><div id="i85800cb5c1ba48ad9707ac873507dca3_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:9pt;font-weight:700;line-height:120%">Exhibit 31.1</font></div><div style="margin-top:9pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:700;line-height:120%">PURSUANT TO SECTION 302 OF</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">THE SARBANES-OXLEY ACT OF 2002</font></div><div style="margin-top:9pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">I, Carl Russo, certify that&#58;</font></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:29.25pt">I have reviewed this quarterly report on Form 10-Q of Calix, Inc. for the quarter ended October&#160;2, 2021&#59;</font></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:29.25pt">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="margin-top:9pt;padding-left:36pt;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">3.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:29.25pt">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="margin-top:9pt;padding-left:36pt;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">4.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:29.25pt">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 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have&#58;</font></div><div style="margin-top:6pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:8.03pt">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="margin-top:5pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:7.52pt">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="margin-top:5pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(c)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:8.03pt">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;&#160;and</font></div><div style="margin-top:5pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(d)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:7.52pt">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting&#59; and</font></div><div style="margin-top:5pt;padding-left:36pt;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">5.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:29.25pt">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 style="margin-top:5pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:8.03pt">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="margin-top:5pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:7.52pt">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><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</font></div><div style="margin-top:5pt"><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:43.409%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.581%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.170%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.581%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:43.559%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Date&#58; October 26, 2021</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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#47;s&#47; Carl Russo</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Carl Russo</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Chief Executive Officer</font></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>5
<FILENAME>calx_21q3ex312.htm
<DESCRIPTION>EX-31.2
<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 2021 Workiva -->
<title>Document</title></head><body><div id="i63999c0c9a9c4a518f10c24ca3cc28f1_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:9pt;font-weight:700;line-height:120%">Exhibit 31.2</font></div><div style="margin-top:9pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:9pt;font-weight:700;line-height:120%">PURSUANT TO SECTION 302 OF</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">THE SARBANES-OXLEY ACT OF 2002</font></div><div style="margin-top:9pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">I, Cory Sindelar, certify that&#58;</font></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:29.25pt">I have reviewed this quarterly report on Form 10-Q of Calix, Inc. for the quarter ended October&#160;2, 2021&#59;</font></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:29.25pt">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="margin-top:9pt;padding-left:36pt;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">3.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:29.25pt">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="margin-top:9pt;padding-left:36pt;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">4.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:29.25pt">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 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have&#58;</font></div><div style="margin-top:6pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:8.03pt">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="margin-top:5pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:7.52pt">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="margin-top:5pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(c)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:8.03pt">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;&#160;and</font></div><div style="margin-top:5pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(d)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:7.52pt">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting&#59; and</font></div><div style="margin-top:5pt;padding-left:36pt;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">5.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:29.25pt">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 style="margin-top:5pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:8.03pt">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="margin-top:5pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:7.52pt">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><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</font></div><div style="margin-top:5pt"><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:43.409%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.581%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.170%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.581%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:43.559%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Date&#58; October 26, 2021</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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#47;s&#47; Cory Sindelar</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cory Sindelar</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Chief Financial Officer</font></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>6
<FILENAME>calx_21q3ex321.htm
<DESCRIPTION>EX-32.1
<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 2021 Workiva -->
<title>Document</title></head><body><div id="i910d70f7937643e0b3721ecce601b578_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:9pt;font-weight:700;line-height:120%">Exhibit 32.1</font></div><div style="margin-top:9pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">CERTIFICATION OF 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:9pt;font-weight:700;line-height:120%">PURSUANT TO 18 U.S.C. SECTION 1350,</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">AS ADOPTED PURSUANT TO</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div style="margin-top:9pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">I, Carl Russo, certify, pursuant to 18 U.S.C. Section&#160;1350, as adopted pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002, that the Quarterly Report of Calix, Inc. (the &#8220;Company&#8221;) on Form 10-Q for the fiscal quarter ended October&#160;2, 2021 fully complies with the requirements of Section&#160;13(a) or 15(d) of the Securities Exchange Act of 1934 and that information contained in such Quarterly Report on Form 10-Q fairly presents in all material respects the financial condition and results of operations of the Company.</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</font></div><div style="margin-top:5pt"><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:43.409%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.581%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.170%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.581%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:43.559%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Date&#58; October 26, 2021</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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#47;s&#47; Carl Russo</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Carl Russo</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Chief Executive Officer</font></td></tr></table></div><div style="margin-top:4pt"><font><br></font></div><div style="margin-top:9pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">I, Cory Sindelar, certify, pursuant to 18 U.S.C. Section&#160;1350, as adopted pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002, that the Quarterly Report of Calix, Inc. (the &#8220;Company&#8221;) on Form 10-Q for the fiscal quarter ended October&#160;2, 2021 fully complies with the requirements of Section&#160;13(a) or 15(d) of the Securities Exchange Act of 1934 and that information contained in such Quarterly Report on Form 10-Q fairly presents in all material respects the financial condition and results of operations of the Company.</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</font></div><div style="margin-top:5pt"><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:43.409%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.581%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.170%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.581%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:43.559%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Date&#58; October 26, 2021</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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#47;s&#47; Cory Sindelar</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cory Sindelar</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></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:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Chief Financial Officer</font></td></tr></table></div><div style="margin-top:4pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">This certification accompanies the Form 10-Q to which it relates, is not deemed filed with the Securities and Exchange Commission and is not to be incorporated by reference into any filing of Calix, Inc. under the Securities Act of 1933, as amended, or the Securities Exchange Act of 1934, as amended (whether made before or after the date of the Form 10-Q), irrespective of any general incorporation language contained in such filing.</font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>7
<FILENAME>calx-20211002.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2021 Workiva-->
<!--r:eb3e7fcf-54aa-41be-ae7f-06b3a004aa6e,g:41ec7d7a-5794-4cef-b971-9df9c68285ea-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:calx="http://www.calix.com/20211002" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:num="http://www.xbrl.org/dtr/type/numeric" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.calix.com/20211002">
  <xs:import namespace="http://fasb.org/srt/2020-01-31" schemaLocation="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd"/>
  <xs:import namespace="http://fasb.org/us-gaap/2020-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd"/>
  <xs:import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/country/2020-01-31" schemaLocation="https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei/2020-01-31" schemaLocation="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.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="calx-20211002_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="calx-20211002_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="calx-20211002_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="calx-20211002_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="Cover" roleURI="http://www.calix.com/role/Cover">
        <link:definition>0001001 - Document - Cover</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CONDENSEDCONSOLIDATEDBALANCESHEETS" roleURI="http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS">
        <link:definition>1001002 - 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.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical">
        <link:definition>1002003 - 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="CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" roleURI="http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME">
        <link:definition>1003004 - 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.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY">
        <link:definition>1004005 - 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.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS">
        <link:definition>1005006 - 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="CompanyandBasisofPresentation" roleURI="http://www.calix.com/role/CompanyandBasisofPresentation">
        <link:definition>2101101 - Disclosure - Company and Basis of Presentation</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="SignificantAccountingPolicies" roleURI="http://www.calix.com/role/SignificantAccountingPolicies">
        <link:definition>2102102 - Disclosure - 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="SignificantAccountingPoliciesPolicies" roleURI="http://www.calix.com/role/SignificantAccountingPoliciesPolicies">
        <link:definition>2203201 - Disclosure - 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="CashCashEquivalentsandMarketableSecurities" roleURI="http://www.calix.com/role/CashCashEquivalentsandMarketableSecurities">
        <link:definition>2104103 - Disclosure - Cash, Cash Equivalents, and Marketable Securities</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="CashCashEquivalentsandRestrictedCashTables" roleURI="http://www.calix.com/role/CashCashEquivalentsandRestrictedCashTables">
        <link:definition>2305301 - Disclosure - Cash, Cash Equivalents and Restricted Cash (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="CashCashEquivalentsandMarketableSecuritiesDetails" roleURI="http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails">
        <link:definition>2406401 - Disclosure - Cash, Cash Equivalents, and Marketable Securities - (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="FairValueMeasurements" roleURI="http://www.calix.com/role/FairValueMeasurements">
        <link:definition>2107104 - Disclosure - Fair Value Measurements</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="FairValueMeasuresandDisclosuresTables" roleURI="http://www.calix.com/role/FairValueMeasuresandDisclosuresTables">
        <link:definition>2308302 - Disclosure - Fair Value Measures and Disclosures (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="FairValueMeasuresandDisclosuresDetails" roleURI="http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails">
        <link:definition>2409402 - Disclosure - Fair Value Measures and Disclosures (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="BalanceSheetDetails" roleURI="http://www.calix.com/role/BalanceSheetDetails">
        <link:definition>2110105 - Disclosure - Balance Sheet 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="BalanceSheetDetailsTables" roleURI="http://www.calix.com/role/BalanceSheetDetailsTables">
        <link:definition>2311303 - Disclosure - Balance Sheet Details (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="BalanceSheetDetailsAccountsReceivableDetails" roleURI="http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails">
        <link:definition>2412403 - Disclosure - Balance Sheet Details - Accounts Receivable (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="BalanceSheetDetailsInventoryDetails" roleURI="http://www.calix.com/role/BalanceSheetDetailsInventoryDetails">
        <link:definition>2413404 - Disclosure - Balance Sheet Details - Inventory (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="BalanceSheetDetailsPropertyandEquipmentnetDetails" roleURI="http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails">
        <link:definition>2414405 - Disclosure - Balance Sheet Details - Property 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="BalanceSheetDetailsLossonAssetRetirementDetails" roleURI="http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails">
        <link:definition>2415406 - Disclosure - Balance Sheet Details - Loss on Asset Retirement (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="BalanceSheetDetailsAccruedLiabilitiesDetails" roleURI="http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails">
        <link:definition>2416407 - Disclosure - Balance Sheet Details - 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="BalanceSheetDetailsWarrantyReserveDetails" roleURI="http://www.calix.com/role/BalanceSheetDetailsWarrantyReserveDetails">
        <link:definition>2417408 - Disclosure - Balance Sheet Details - Warranty Reserve (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="BalanceSheetDetailsRestructuringDetails" roleURI="http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails">
        <link:definition>2418409 - Disclosure - Balance Sheet Details - Restructuring (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="CreditAgreement" roleURI="http://www.calix.com/role/CreditAgreement">
        <link:definition>2119106 - Disclosure - Credit Agreement</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="CreditAgreementsLineofCreditDetails" roleURI="http://www.calix.com/role/CreditAgreementsLineofCreditDetails">
        <link:definition>2420410 - Disclosure - Credit Agreements - Line of Credit (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="CommitmentsandContingencies" roleURI="http://www.calix.com/role/CommitmentsandContingencies">
        <link:definition>2121107 - 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="CommitmentsandContingenciesTables" roleURI="http://www.calix.com/role/CommitmentsandContingenciesTables">
        <link:definition>2322304 - Disclosure - Commitments and Contingencies (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="CommitmentsandContingenciesTextualDetails" roleURI="http://www.calix.com/role/CommitmentsandContingenciesTextualDetails">
        <link:definition>2423411 - Disclosure - Commitments and Contingencies - Textual (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="CommitmentsandContingenciesOperatingLeasesDetails" roleURI="http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails">
        <link:definition>2424412 - Disclosure - Commitments and Contingencies - Operating 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="CommitmentsandContingenciesOperatingLeasesDetails_1" roleURI="http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails_1">
        <link:definition>2424412 - Disclosure - Commitments and Contingencies - Operating 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="CommitmentsandContingenciesOperatingLeaseLiabilityDetails" roleURI="http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails">
        <link:definition>2425413 - Disclosure - Commitments and Contingencies - Operating Lease Liability (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="StockholdersEquity" roleURI="http://www.calix.com/role/StockholdersEquity">
        <link:definition>2126108 - Disclosure - 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="StockholdersEquityTables" roleURI="http://www.calix.com/role/StockholdersEquityTables">
        <link:definition>2327305 - Disclosure - Stockholders' Equity (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="StockholdersEquity2019EquityIncentiveAwardPlanDetails" roleURI="http://www.calix.com/role/StockholdersEquity2019EquityIncentiveAwardPlanDetails">
        <link:definition>2428414 - Disclosure - Stockholders' Equity - 2019 Equity Incentive Award Plan (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="StockholdersEquityStockOptionsDetails" roleURI="http://www.calix.com/role/StockholdersEquityStockOptionsDetails">
        <link:definition>2429415 - Disclosure - Stockholders' Equity - Stock Options (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="StockholdersEquityEmployeeStockPurchasePlansDetails" roleURI="http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails">
        <link:definition>2430416 - Disclosure - Stockholders' Equity - Employee Stock Purchase Plans (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="StockholdersEquityStockBasedCompensationExpenseDetails" roleURI="http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails">
        <link:definition>2431417 - Disclosure - Stockholders' Equity - Stock-Based Compensation 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="RevenuefromContractswithCustomers" roleURI="http://www.calix.com/role/RevenuefromContractswithCustomers">
        <link:definition>2132109 - Disclosure - Revenue from Contracts with Customers</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="RevenuefromContractswithCustomersTables" roleURI="http://www.calix.com/role/RevenuefromContractswithCustomersTables">
        <link:definition>2333306 - Disclosure - Revenue from Contracts with Customers (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="RevenuefromContractswithCustomersRevenueDetails" roleURI="http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails">
        <link:definition>2434418 - Disclosure - Revenue from Contracts with Customers - Revenue (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="RevenuefromContractswithCustomersContractAssetandLiabilityDetails" roleURI="http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails">
        <link:definition>2435419 - Disclosure - Revenue from Contracts with Customers - Contract Asset and Liability (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="RevenuefromContractswithCustomersContractCostsDetails" roleURI="http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails">
        <link:definition>2436420 - Disclosure - Revenue from Contracts with Customers - Contract 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="RevenuefromContractswithCustomersPerformanceObligationsDetails" roleURI="http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails">
        <link:definition>2437421 - Disclosure - Revenue from Contracts with Customers - Performance Obligations (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="RevenuefromContractswithCustomersPerformanceObligationsDetails_1" roleURI="http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails_1">
        <link:definition>2437421 - Disclosure - Revenue from Contracts with Customers - Performance Obligations (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="RevenuefromContractswithCustomersConcentrationRiskDetails" roleURI="http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails">
        <link:definition>2438422 - Disclosure - Revenue from Contracts with Customers - Concentration Risk (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="IncomeTaxes" roleURI="http://www.calix.com/role/IncomeTaxes">
        <link:definition>2139110 - Disclosure - Income Taxes</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="IncomeTaxesTables" roleURI="http://www.calix.com/role/IncomeTaxesTables">
        <link:definition>2340307 - Disclosure - Income Taxes (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="IncomeTaxesDetails" roleURI="http://www.calix.com/role/IncomeTaxesDetails">
        <link:definition>2441423 - Disclosure - Income Taxes - (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="NetIncomePerCommonShare" roleURI="http://www.calix.com/role/NetIncomePerCommonShare">
        <link:definition>2142111 - Disclosure - Net Income Per Common 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="NetIncomePerCommonShareTables" roleURI="http://www.calix.com/role/NetIncomePerCommonShareTables">
        <link:definition>2343308 - Disclosure - Net Income Per Common 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="NetIncomePerCommonShareDetails" roleURI="http://www.calix.com/role/NetIncomePerCommonShareDetails">
        <link:definition>2444424 - Disclosure - Net Income Per Common Share - (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="calx_RichardsonTexasAndSanJoseCaliforniaMember" abstract="true" name="RichardsonTexasAndSanJoseCaliforniaMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="calx_AccruedFreight" abstract="false" name="AccruedFreight" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="calx_AssetWriteOff" abstract="false" name="AssetWriteOff" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="calx_ProductReturnReserveCurrent" abstract="false" name="ProductReturnReserveCurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="num:percentItemType"/>
  <xs:element id="calx_CostOfRevenueServicesMember" abstract="true" name="CostOfRevenueServicesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="calx_NumberOfEmployeeStockPurchasePlans" abstract="false" name="NumberOfEmployeeStockPurchasePlans" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="num:percentItemType"/>
  <xs:element id="calx_ContractwithCustomerAssetPriorPeriodNotRecognized" abstract="false" name="ContractwithCustomerAssetPriorPeriodNotRecognized" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="calx_CashCashEquivalentsAndMarketableSecurities" abstract="false" name="CashCashEquivalentsAndMarketableSecurities" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="calx_ProductAndServicesMember" abstract="true" name="ProductAndServicesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="num:percentItemType"/>
  <xs:element id="calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="num:percentItemType"/>
  <xs:element id="calx_LumenTechnologiesIncMember" abstract="true" name="LumenTechnologiesIncMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="calx_A2017NonqualifiedEmployeeStockPurchasePlanMember" abstract="true" name="A2017NonqualifiedEmployeeStockPurchasePlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="calx_PaymentsForFinancingArrangements" abstract="false" name="PaymentsForFinancingArrangements" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="num:percentItemType"/>
  <xs:element id="calx_CostOfRevenueProductsMember" abstract="true" name="CostOfRevenueProductsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="calx_LesseeOperatingLeaseLiabilityTableTextBlock" abstract="false" name="LesseeOperatingLeaseLiabilityTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType"/>
  <xs:element id="calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="calx_AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff" abstract="false" name="AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="calx_InterestAndOtherIncomeExpenseNonoperating" abstract="false" name="InterestAndOtherIncomeExpenseNonoperating" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer" abstract="false" name="AccruedExcessAndObsoleteInventoryAtContractManufacturer" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="calx_RevenueShareObligationCurrent" abstract="false" name="RevenueShareObligationCurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes" abstract="false" name="TaxesPayableCurrentExcludingAccruedIncomeTaxes" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent" abstract="false" name="ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="num:percentItemType"/>
  <xs:element id="calx_AccruedCustomerRebates" abstract="false" name="AccruedCustomerRebates" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="calx_BankOfAmericaMember" abstract="true" name="BankOfAmericaMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="calx_SystemsProductMember" abstract="true" name="SystemsProductMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="calx_PerformanceBasedStockOptionsMember" abstract="true" name="PerformanceBasedStockOptionsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="calx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" abstract="false" name="LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="calx_A2021PerformanceTargetsMember" abstract="true" name="A2021PerformanceTargetsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="calx_OneCustomerMember" abstract="true" name="OneCustomerMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="calx_SoftwareMember" abstract="true" name="SoftwareMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="calx_SanJoseCaliforniaMember" abstract="true" name="SanJoseCaliforniaMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod" abstract="false" name="SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="calx_ExtendedWarrantyMember" abstract="true" name="ExtendedWarrantyMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="calx_A2019EquityIncentiveAwardPlanMember" abstract="true" name="A2019EquityIncentiveAwardPlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember" abstract="true" name="AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="calx_AmericasExUSMember" abstract="true" name="AmericasExUSMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="calx_MiddleEastAndAfricaMember" abstract="true" name="MiddleEastAndAfricaMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>8
<FILENAME>calx-20211002_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 2021 Workiva-->
<!--r:eb3e7fcf-54aa-41be-ae7f-06b3a004aa6e,g:41ec7d7a-5794-4cef-b971-9df9c68285ea-->
<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.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" xlink:type="simple" xlink:href="calx-20211002.xsd#CONDENSEDCONSOLIDATEDBALANCESHEETS"/>
  <link:calculationLink xlink:role="http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_78aafabb-1748-4978-83c2-f70fb28f0ef0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_ea59e639-fd98-41c0-a9f3-2f08de39da23" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_78aafabb-1748-4978-83c2-f70fb28f0ef0" xlink:to="loc_us-gaap_CommonStockValue_ea59e639-fd98-41c0-a9f3-2f08de39da23" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_8450f318-56f1-467a-8b59-3523d7430e4c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_78aafabb-1748-4978-83c2-f70fb28f0ef0" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_8450f318-56f1-467a-8b59-3523d7430e4c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_376b038a-7743-4f0f-a096-0f10a21337e7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_78aafabb-1748-4978-83c2-f70fb28f0ef0" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_376b038a-7743-4f0f-a096-0f10a21337e7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_4d9f0d2c-73d6-4508-8e8b-49cf8e791608" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_78aafabb-1748-4978-83c2-f70fb28f0ef0" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_4d9f0d2c-73d6-4508-8e8b-49cf8e791608" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_093dcae5-99e4-483f-af8b-9f5e306730cd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockValue"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_78aafabb-1748-4978-83c2-f70fb28f0ef0" xlink:to="loc_us-gaap_PreferredStockValue_093dcae5-99e4-483f-af8b-9f5e306730cd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_a3f135bd-1540-4615-99d3-e68934b5258c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_59a50994-ec8e-4bef-a67a-9e46f908fcb6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_a3f135bd-1540-4615-99d3-e68934b5258c" xlink:to="loc_us-gaap_Liabilities_59a50994-ec8e-4bef-a67a-9e46f908fcb6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_8a6e7f55-0811-40c6-b291-577bea4c7f07" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_a3f135bd-1540-4615-99d3-e68934b5258c" xlink:to="loc_us-gaap_StockholdersEquity_8a6e7f55-0811-40c6-b291-577bea4c7f07" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies_c63a6706-83d7-4852-bf3d-c1efb1535039" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_a3f135bd-1540-4615-99d3-e68934b5258c" xlink:to="loc_us-gaap_CommitmentsAndContingencies_c63a6706-83d7-4852-bf3d-c1efb1535039" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_1cd1d32e-83aa-4d1a-968c-59d7f9b398c6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_8712d4fc-0522-406c-920e-8a7408d08fcf" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryNet"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_1cd1d32e-83aa-4d1a-968c-59d7f9b398c6" xlink:to="loc_us-gaap_InventoryNet_8712d4fc-0522-406c-920e-8a7408d08fcf" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_991c944b-397a-41db-999b-761d57d29eae" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_1cd1d32e-83aa-4d1a-968c-59d7f9b398c6" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_991c944b-397a-41db-999b-761d57d29eae" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_334293e8-6edc-4eb0-b6f8-6fc222e8c296" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_1cd1d32e-83aa-4d1a-968c-59d7f9b398c6" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_334293e8-6edc-4eb0-b6f8-6fc222e8c296" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_c6d363f5-d931-4104-9e1d-5672c4c56f9d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_1cd1d32e-83aa-4d1a-968c-59d7f9b398c6" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_c6d363f5-d931-4104-9e1d-5672c4c56f9d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_3a302061-2d63-45e4-be29-ab2853f2ff45" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_1cd1d32e-83aa-4d1a-968c-59d7f9b398c6" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_3a302061-2d63-45e4-be29-ab2853f2ff45" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_a32114fb-c7d9-425f-b3ec-9c46b88d3898" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Liabilities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_6ef03dd6-2729-4325-8cde-568a00699467" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_a32114fb-c7d9-425f-b3ec-9c46b88d3898" xlink:to="loc_us-gaap_LiabilitiesCurrent_6ef03dd6-2729-4325-8cde-568a00699467" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent_85a3807b-01db-4eb6-9a10-9360610332cc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_a32114fb-c7d9-425f-b3ec-9c46b88d3898" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent_85a3807b-01db-4eb6-9a10-9360610332cc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_4def7547-8106-42fc-a26f-de0b42d25c2b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_a32114fb-c7d9-425f-b3ec-9c46b88d3898" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_4def7547-8106-42fc-a26f-de0b42d25c2b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_fe65798a-c49b-4cdf-9305-15ee084186c1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_a32114fb-c7d9-425f-b3ec-9c46b88d3898" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_fe65798a-c49b-4cdf-9305-15ee084186c1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_a310204f-6198-4236-8cea-4cf0301dac23" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_0a0b78b7-d855-470a-8aca-cfe8466c46ee" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_a310204f-6198-4236-8cea-4cf0301dac23" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_0a0b78b7-d855-470a-8aca-cfe8466c46ee" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_38020223-7bc6-4905-a947-358361b4cee5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_a310204f-6198-4236-8cea-4cf0301dac23" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_38020223-7bc6-4905-a947-358361b4cee5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_cb59029b-103f-4bfd-bd24-d8a7b7ced10c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_a310204f-6198-4236-8cea-4cf0301dac23" xlink:to="loc_us-gaap_AccountsPayableCurrent_cb59029b-103f-4bfd-bd24-d8a7b7ced10c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_19a824a5-dd42-434d-a309-cf8f68ffc4b3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Assets"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_cd197bd7-1aee-49a4-84bd-a277b9fb0162" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_19a824a5-dd42-434d-a309-cf8f68ffc4b3" xlink:to="loc_us-gaap_AssetsCurrent_cd197bd7-1aee-49a4-84bd-a277b9fb0162" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_a104d076-194f-4ce7-aa9b-f89956f5d590" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_19a824a5-dd42-434d-a309-cf8f68ffc4b3" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_a104d076-194f-4ce7-aa9b-f89956f5d590" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_b068167c-2393-4a3d-ba35-569c23e27833" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_19a824a5-dd42-434d-a309-cf8f68ffc4b3" xlink:to="loc_us-gaap_Goodwill_b068167c-2393-4a3d-ba35-569c23e27833" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_9d43bf8c-f6ed-40ad-b935-158d8d4cd43e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_19a824a5-dd42-434d-a309-cf8f68ffc4b3" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_9d43bf8c-f6ed-40ad-b935-158d8d4cd43e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_e0207b79-ec0b-4a0a-bdc8-144175f45532" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_19a824a5-dd42-434d-a309-cf8f68ffc4b3" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_e0207b79-ec0b-4a0a-bdc8-144175f45532" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet_2912df5c-2448-4a26-a840-24bc96fb6abb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_19a824a5-dd42-434d-a309-cf8f68ffc4b3" xlink:to="loc_us-gaap_DeferredIncomeTaxAssetsNet_2912df5c-2448-4a26-a840-24bc96fb6abb" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" xlink:type="simple" xlink:href="calx-20211002.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"/>
  <link:calculationLink xlink:role="http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_895213c4-79af-4834-b536-0763505f63fd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_a0bda683-5f20-4c68-99a0-5705cbae80a0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_895213c4-79af-4834-b536-0763505f63fd" xlink:to="loc_us-gaap_GrossProfit_a0bda683-5f20-4c68-99a0-5705cbae80a0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_dafba0dc-888d-4df9-8392-2723cd8ed9df" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_895213c4-79af-4834-b536-0763505f63fd" xlink:to="loc_us-gaap_OperatingExpenses_dafba0dc-888d-4df9-8392-2723cd8ed9df" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_InterestAndOtherIncomeExpenseNonoperating_6e90dcea-2493-44fd-87f1-456493abb129" xlink:href="calx-20211002.xsd#calx_InterestAndOtherIncomeExpenseNonoperating"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNonoperatingNet_93e5c83b-a4e9-4944-95a1-32b1ada2ae26" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_calx_InterestAndOtherIncomeExpenseNonoperating_6e90dcea-2493-44fd-87f1-456493abb129" xlink:to="loc_us-gaap_InterestIncomeExpenseNonoperatingNet_93e5c83b-a4e9-4944-95a1-32b1ada2ae26" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_a94de98b-feae-451d-876c-28df05779e38" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_calx_InterestAndOtherIncomeExpenseNonoperating_6e90dcea-2493-44fd-87f1-456493abb129" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_a94de98b-feae-451d-876c-28df05779e38" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_dc74b1d1-844d-4d29-918c-0ff1f983e33f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_9aee6c84-bc23-4723-bfee-f036e5e72651" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_dc74b1d1-844d-4d29-918c-0ff1f983e33f" xlink:to="loc_us-gaap_OperatingIncomeLoss_9aee6c84-bc23-4723-bfee-f036e5e72651" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNonoperatingNet_6384e62f-2eba-478d-8a86-80a59dd6742b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_dc74b1d1-844d-4d29-918c-0ff1f983e33f" xlink:to="loc_us-gaap_InterestIncomeExpenseNonoperatingNet_6384e62f-2eba-478d-8a86-80a59dd6742b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_2fa052b2-cebd-4a02-8779-d3ccdb298026" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_dc74b1d1-844d-4d29-918c-0ff1f983e33f" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_2fa052b2-cebd-4a02-8779-d3ccdb298026" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_aec93326-46e2-49e6-a877-de0a4e93b408" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GrossProfit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_635744c6-a4ee-4194-8108-9bbc8917b118" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_aec93326-46e2-49e6-a877-de0a4e93b408" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_635744c6-a4ee-4194-8108-9bbc8917b118" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_f0954d1a-6ae7-4c4f-8cb3-1e6a1b02c51d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_aec93326-46e2-49e6-a877-de0a4e93b408" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_f0954d1a-6ae7-4c4f-8cb3-1e6a1b02c51d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_0291ef0f-b9ba-4375-8455-a37d45b62f91" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingExpenses"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense_6b0c2951-b94f-45ed-8b1f-19e6c58468d6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_0291ef0f-b9ba-4375-8455-a37d45b62f91" xlink:to="loc_us-gaap_SellingAndMarketingExpense_6b0c2951-b94f-45ed-8b1f-19e6c58468d6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_ff5d3660-05f9-49ab-b51c-51cad06b392b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_0291ef0f-b9ba-4375-8455-a37d45b62f91" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_ff5d3660-05f9-49ab-b51c-51cad06b392b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_52e28de8-bf7e-4f99-ad96-eace1db744ca" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_0291ef0f-b9ba-4375-8455-a37d45b62f91" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_52e28de8-bf7e-4f99-ad96-eace1db744ca" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_54cdb9be-a45e-433a-9d3f-a551c64b8b8f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringCharges"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_0291ef0f-b9ba-4375-8455-a37d45b62f91" xlink:to="loc_us-gaap_RestructuringCharges_54cdb9be-a45e-433a-9d3f-a551c64b8b8f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_5fd54f87-d02e-4b92-bc8c-a4337a4871f9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss_a4e09111-9576-4b58-b8e7-d63b182b7f62" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProfitLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_5fd54f87-d02e-4b92-bc8c-a4337a4871f9" xlink:to="loc_us-gaap_ProfitLoss_a4e09111-9576-4b58-b8e7-d63b182b7f62" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_5b6de1cd-facd-4c31-b09a-a51410ef57e3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_5fd54f87-d02e-4b92-bc8c-a4337a4871f9" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_5b6de1cd-facd-4c31-b09a-a51410ef57e3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss_4bffd193-9f32-4060-a05f-038ac63d4c5b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProfitLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_0beae90b-14c5-4fb5-81ed-f7a1739e5889" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ProfitLoss_4bffd193-9f32-4060-a05f-038ac63d4c5b" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_0beae90b-14c5-4fb5-81ed-f7a1739e5889" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_a7158509-5ea3-492e-85ed-95c5e464247d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ProfitLoss_4bffd193-9f32-4060-a05f-038ac63d4c5b" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_a7158509-5ea3-492e-85ed-95c5e464247d" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="simple" xlink:href="calx-20211002.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"/>
  <link:calculationLink xlink:role="http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_28444be5-9758-4433-a40c-8ecc9c3b4987" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_PaymentsForFinancingArrangements_80b3d1f8-9dd6-4726-8706-e68943c8a4dc" xlink:href="calx-20211002.xsd#calx_PaymentsForFinancingArrangements"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_28444be5-9758-4433-a40c-8ecc9c3b4987" xlink:to="loc_calx_PaymentsForFinancingArrangements_80b3d1f8-9dd6-4726-8706-e68943c8a4dc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised_8c0b49a8-9e28-4db6-a363-15f790744146" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_28444be5-9758-4433-a40c-8ecc9c3b4987" xlink:to="loc_us-gaap_ProceedsFromStockOptionsExercised_8c0b49a8-9e28-4db6-a363-15f790744146" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLinesOfCredit_9060bd69-27fb-48a1-8633-05d90b46a559" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RepaymentsOfLinesOfCredit"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_28444be5-9758-4433-a40c-8ecc9c3b4987" xlink:to="loc_us-gaap_RepaymentsOfLinesOfCredit_9060bd69-27fb-48a1-8633-05d90b46a559" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDebtIssuanceCosts_6a213bc1-50f3-4672-b709-6bbd93917207" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsOfDebtIssuanceCosts"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_28444be5-9758-4433-a40c-8ecc9c3b4987" xlink:to="loc_us-gaap_PaymentsOfDebtIssuanceCosts_6a213bc1-50f3-4672-b709-6bbd93917207" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLinesOfCredit_2ff89947-9ac5-411d-9250-ccd28b229b6d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromLinesOfCredit"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_28444be5-9758-4433-a40c-8ecc9c3b4987" xlink:to="loc_us-gaap_ProceedsFromLinesOfCredit_2ff89947-9ac5-411d-9250-ccd28b229b6d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfCommonStock_8a2f8a17-821a-453d-aaf7-4ed85080e7d8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_28444be5-9758-4433-a40c-8ecc9c3b4987" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfCommonStock_8a2f8a17-821a-453d-aaf7-4ed85080e7d8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e22f051e-d5ad-4eba-b83c-e28b5faa3b28" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss_e607cf28-8a0a-4214-adb7-a4da3700c817" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProfitLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e22f051e-d5ad-4eba-b83c-e28b5faa3b28" xlink:to="loc_us-gaap_ProfitLoss_e607cf28-8a0a-4214-adb7-a4da3700c817" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_8bbec371-adcb-4b46-8353-c9f340ccd320" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Depreciation"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e22f051e-d5ad-4eba-b83c-e28b5faa3b28" xlink:to="loc_us-gaap_Depreciation_8bbec371-adcb-4b46-8353-c9f340ccd320" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_6877d963-b88b-464a-ac0f-1da5186a4d64" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensation"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e22f051e-d5ad-4eba-b83c-e28b5faa3b28" xlink:to="loc_us-gaap_ShareBasedCompensation_6877d963-b88b-464a-ac0f-1da5186a4d64" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_61621b1c-1c8e-4a52-a895-bf8eeb20feba" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e22f051e-d5ad-4eba-b83c-e28b5faa3b28" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_61621b1c-1c8e-4a52-a895-bf8eeb20feba" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_cdebead2-f105-43b8-8c7d-3aba5ff60537" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e22f051e-d5ad-4eba-b83c-e28b5faa3b28" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_cdebead2-f105-43b8-8c7d-3aba5ff60537" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_f05e49c2-2a89-42f5-b9a2-4d87967d0475" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e22f051e-d5ad-4eba-b83c-e28b5faa3b28" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_f05e49c2-2a89-42f5-b9a2-4d87967d0475" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_9e406d23-ff32-4e61-9188-6a00a388b8ab" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e22f051e-d5ad-4eba-b83c-e28b5faa3b28" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_9e406d23-ff32-4e61-9188-6a00a388b8ab" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_d6acf1f5-a5fb-4e84-a2ae-6605e6f8c0b2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e22f051e-d5ad-4eba-b83c-e28b5faa3b28" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_d6acf1f5-a5fb-4e84-a2ae-6605e6f8c0b2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_a2330aa6-e025-4528-8761-17b91ad8abb3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e22f051e-d5ad-4eba-b83c-e28b5faa3b28" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_a2330aa6-e025-4528-8761-17b91ad8abb3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_a37eef80-01ca-4455-9406-968ad123987a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities"/>
    <link:calculationArc order="10" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e22f051e-d5ad-4eba-b83c-e28b5faa3b28" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_a37eef80-01ca-4455-9406-968ad123987a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetImpairmentCharges_9722e904-57f9-4255-a579-49c6a9c9617f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetImpairmentCharges"/>
    <link:calculationArc order="11" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e22f051e-d5ad-4eba-b83c-e28b5faa3b28" xlink:to="loc_us-gaap_AssetImpairmentCharges_9722e904-57f9-4255-a579-49c6a9c9617f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_519e2af7-ae7a-4a05-8ef8-555c35b7ef71" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount"/>
    <link:calculationArc order="12" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e22f051e-d5ad-4eba-b83c-e28b5faa3b28" xlink:to="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_519e2af7-ae7a-4a05-8ef8-555c35b7ef71" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_c12bef54-4423-43cf-8650-edc50751bdce" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_fc58fa97-0368-4623-b518-58fe71baa0dc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_c12bef54-4423-43cf-8650-edc50751bdce" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_fc58fa97-0368-4623-b518-58fe71baa0dc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_38dfb45c-0d12-41b4-b5dd-42e82c6fd7f4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_c12bef54-4423-43cf-8650-edc50751bdce" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_38dfb45c-0d12-41b4-b5dd-42e82c6fd7f4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_83555b8e-32b3-49cd-a14c-6f505324c778" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_c12bef54-4423-43cf-8650-edc50751bdce" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_83555b8e-32b3-49cd-a14c-6f505324c778" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_b2f9a538-83c3-4baa-84a7-3b1c0eee8a57" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_c12bef54-4423-43cf-8650-edc50751bdce" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_b2f9a538-83c3-4baa-84a7-3b1c0eee8a57" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_53507835-68fb-408e-bca8-e1b0160fe020" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_edbc4206-f133-44fb-83ff-fc8593562653" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_53507835-68fb-408e-bca8-e1b0160fe020" xlink:to="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_edbc4206-f133-44fb-83ff-fc8593562653" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_450656d2-56b6-47d9-aefa-b74f49853970" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_53507835-68fb-408e-bca8-e1b0160fe020" xlink:to="loc_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_450656d2-56b6-47d9-aefa-b74f49853970" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_ed97c254-c599-40c2-b7bd-f129af9a600a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_53507835-68fb-408e-bca8-e1b0160fe020" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_ed97c254-c599-40c2-b7bd-f129af9a600a" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#CashCashEquivalentsandMarketableSecuritiesDetails"/>
  <link:calculationLink xlink:role="http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_calx_CashCashEquivalentsAndMarketableSecurities_901f584a-bf29-48da-bf82-b7d875b24f85" xlink:href="calx-20211002.xsd#calx_CashCashEquivalentsAndMarketableSecurities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_4effd58c-ea05-4732-b37b-8f14c85ad2ef" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_calx_CashCashEquivalentsAndMarketableSecurities_901f584a-bf29-48da-bf82-b7d875b24f85" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_4effd58c-ea05-4732-b37b-8f14c85ad2ef" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_56324006-3d72-4c78-b610-08cf22ec2f40" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_calx_CashCashEquivalentsAndMarketableSecurities_901f584a-bf29-48da-bf82-b7d875b24f85" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_56324006-3d72-4c78-b610-08cf22ec2f40" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#FairValueMeasuresandDisclosuresDetails"/>
  <link:calculationLink xlink:role="http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_54378fe6-f469-489b-ac3e-bd58fdbbcbe1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_74655b2c-d194-4ca5-9732-91b5e96c760c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsFairValueDisclosure_54378fe6-f469-489b-ac3e-bd58fdbbcbe1" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_74655b2c-d194-4ca5-9732-91b5e96c760c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_92294103-d898-4f51-a5c9-bc5efdafa11d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsFairValueDisclosure_54378fe6-f469-489b-ac3e-bd58fdbbcbe1" xlink:to="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_92294103-d898-4f51-a5c9-bc5efdafa11d" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#BalanceSheetDetailsAccountsReceivableDetails"/>
  <link:calculationLink xlink:role="http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_e69d3b5c-b188-4526-bf93-8f907c1764b4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_b48e2208-cdfd-47e1-948c-c71d2278afc9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent_e69d3b5c-b188-4526-bf93-8f907c1764b4" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_b48e2208-cdfd-47e1-948c-c71d2278afc9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableGrossCurrent_6c253bc7-7258-400d-879c-df1d79300091" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableGrossCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent_e69d3b5c-b188-4526-bf93-8f907c1764b4" xlink:to="loc_us-gaap_AccountsReceivableGrossCurrent_6c253bc7-7258-400d-879c-df1d79300091" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.calix.com/role/BalanceSheetDetailsInventoryDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#BalanceSheetDetailsInventoryDetails"/>
  <link:calculationLink xlink:role="http://www.calix.com/role/BalanceSheetDetailsInventoryDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_e7eaba9a-dcec-4b5f-856f-aa72195e094b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_a7ad1cbd-501e-4cb9-bb05-c80561c5b456" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_e7eaba9a-dcec-4b5f-856f-aa72195e094b" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_a7ad1cbd-501e-4cb9-bb05-c80561c5b456" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_13d2892e-ed32-4c8c-9e72-a8154f5461a9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_e7eaba9a-dcec-4b5f-856f-aa72195e094b" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_13d2892e-ed32-4c8c-9e72-a8154f5461a9" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#BalanceSheetDetailsPropertyandEquipmentnetDetails"/>
  <link:calculationLink xlink:role="http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_46036372-8cba-43bf-8d39-51054f4cf94e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_0996ef37-9cfa-461f-9c35-f79b519c94b0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_46036372-8cba-43bf-8d39-51054f4cf94e" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_0996ef37-9cfa-461f-9c35-f79b519c94b0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_4bb82231-5278-4845-83e3-b5ea9164c680" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_46036372-8cba-43bf-8d39-51054f4cf94e" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_4bb82231-5278-4845-83e3-b5ea9164c680" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#BalanceSheetDetailsLossonAssetRetirementDetails"/>
  <link:calculationLink xlink:role="http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_7317d434-e2bc-46db-a3c8-840900fa5dcd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_0e3531d0-0a65-44e5-9a02-8976cf066d71" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherAssetsNoncurrent_7317d434-e2bc-46db-a3c8-840900fa5dcd" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_0e3531d0-0a65-44e5-9a02-8976cf066d71" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsMiscellaneousNoncurrent_d76fdb20-7fe5-4e63-9fa3-4c5475c730dc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsMiscellaneousNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherAssetsNoncurrent_7317d434-e2bc-46db-a3c8-840900fa5dcd" xlink:to="loc_us-gaap_OtherAssetsMiscellaneousNoncurrent_d76fdb20-7fe5-4e63-9fa3-4c5475c730dc" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#BalanceSheetDetailsAccruedLiabilitiesDetails"/>
  <link:calculationLink xlink:role="http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_59920cf4-2e04-4b29-81b3-fbf42a1a316e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer_cdf1d8ac-e96a-4ca4-b2a0-39b21b55fbee" xlink:href="calx-20211002.xsd#calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_59920cf4-2e04-4b29-81b3-fbf42a1a316e" xlink:to="loc_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer_cdf1d8ac-e96a-4ca4-b2a0-39b21b55fbee" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveCurrent_b1a8553b-abc2-4367-93b7-76b796887c93" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringReserveCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_59920cf4-2e04-4b29-81b3-fbf42a1a316e" xlink:to="loc_us-gaap_RestructuringReserveCurrent_b1a8553b-abc2-4367-93b7-76b796887c93" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_a866ba32-2510-405f-8c81-25a0db97b507" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_59920cf4-2e04-4b29-81b3-fbf42a1a316e" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_a866ba32-2510-405f-8c81-25a0db97b507" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_54b3d387-8162-4a4c-8e27-abc3750dc301" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_59920cf4-2e04-4b29-81b3-fbf42a1a316e" xlink:to="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_54b3d387-8162-4a4c-8e27-abc3750dc301" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedProfessionalFeesCurrent_6e81f71e-42e4-43e9-a248-c37c37f48c70" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedProfessionalFeesCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_59920cf4-2e04-4b29-81b3-fbf42a1a316e" xlink:to="loc_us-gaap_AccruedProfessionalFeesCurrent_6e81f71e-42e4-43e9-a248-c37c37f48c70" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AccruedFreight_979f9625-87ba-4f68-bb90-38fd56cb2e35" xlink:href="calx-20211002.xsd#calx_AccruedFreight"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_59920cf4-2e04-4b29-81b3-fbf42a1a316e" xlink:to="loc_calx_AccruedFreight_979f9625-87ba-4f68-bb90-38fd56cb2e35" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes_dfeea82f-17d9-47cb-b0c6-cfd6a63667e9" xlink:href="calx-20211002.xsd#calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_59920cf4-2e04-4b29-81b3-fbf42a1a316e" xlink:to="loc_calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes_dfeea82f-17d9-47cb-b0c6-cfd6a63667e9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_777d95b7-7c80-4bcb-a26b-4406b31a4e66" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_59920cf4-2e04-4b29-81b3-fbf42a1a316e" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_777d95b7-7c80-4bcb-a26b-4406b31a4e66" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_RevenueShareObligationCurrent_cfd2feb0-2292-416e-bb92-83b637cc6d5f" xlink:href="calx-20211002.xsd#calx_RevenueShareObligationCurrent"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_59920cf4-2e04-4b29-81b3-fbf42a1a316e" xlink:to="loc_calx_RevenueShareObligationCurrent_cfd2feb0-2292-416e-bb92-83b637cc6d5f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_6845701b-9387-4719-9f6c-4a647c0fa46c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="10" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_59920cf4-2e04-4b29-81b3-fbf42a1a316e" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_6845701b-9387-4719-9f6c-4a647c0fa46c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ProductReturnReserveCurrent_3567d7bc-9e7c-4026-b1c5-d27f04321ac3" xlink:href="calx-20211002.xsd#calx_ProductReturnReserveCurrent"/>
    <link:calculationArc order="11" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_59920cf4-2e04-4b29-81b3-fbf42a1a316e" xlink:to="loc_calx_ProductReturnReserveCurrent_3567d7bc-9e7c-4026-b1c5-d27f04321ac3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AccruedCustomerRebates_093c6fc0-3c55-4fb9-a353-50d8cf404e65" xlink:href="calx-20211002.xsd#calx_AccruedCustomerRebates"/>
    <link:calculationArc order="12" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_59920cf4-2e04-4b29-81b3-fbf42a1a316e" xlink:to="loc_calx_AccruedCustomerRebates_093c6fc0-3c55-4fb9-a353-50d8cf404e65" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#CommitmentsandContingenciesOperatingLeasesDetails"/>
  <link:calculationLink xlink:role="http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_0e4af78b-a06f-4aed-824f-d7bf2adf2739" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_5053e5dd-36b7-46ed-83f7-bf02deea3783" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_0e4af78b-a06f-4aed-824f-d7bf2adf2739" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_5053e5dd-36b7-46ed-83f7-bf02deea3783" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_fdab3649-97a9-4924-8fe1-a91f6cb7f52f" xlink:href="calx-20211002.xsd#calx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_0e4af78b-a06f-4aed-824f-d7bf2adf2739" xlink:to="loc_calx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_fdab3649-97a9-4924-8fe1-a91f6cb7f52f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_d835bbc9-2326-465d-90f2-3ca38cad80e3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_0e4af78b-a06f-4aed-824f-d7bf2adf2739" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_d835bbc9-2326-465d-90f2-3ca38cad80e3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_2ee8db44-97c2-4d70-9788-73c61a96467d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_0e4af78b-a06f-4aed-824f-d7bf2adf2739" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_2ee8db44-97c2-4d70-9788-73c61a96467d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_327a054f-e6fc-4488-b3db-d715bac3c1f7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_0e4af78b-a06f-4aed-824f-d7bf2adf2739" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_327a054f-e6fc-4488-b3db-d715bac3c1f7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_6511ffd1-4cc8-4e83-819e-855f022ddfaf" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_0e4af78b-a06f-4aed-824f-d7bf2adf2739" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_6511ffd1-4cc8-4e83-819e-855f022ddfaf" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails_1" xlink:type="simple" xlink:href="calx-20211002.xsd#CommitmentsandContingenciesOperatingLeasesDetails_1"/>
  <link:calculationLink xlink:role="http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails_1" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_49a89032-c6d8-4005-a8ff-0d762ad1730c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_2103f8b5-c46f-40e1-8cbd-42bbe69c6849" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_49a89032-c6d8-4005-a8ff-0d762ad1730c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_2103f8b5-c46f-40e1-8cbd-42bbe69c6849" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_468d1db3-d119-42d3-bfaa-5d3a08754244" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_49a89032-c6d8-4005-a8ff-0d762ad1730c" xlink:to="loc_us-gaap_OperatingLeaseLiability_468d1db3-d119-42d3-bfaa-5d3a08754244" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#CommitmentsandContingenciesOperatingLeaseLiabilityDetails"/>
  <link:calculationLink xlink:role="http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_5deed8a0-28bc-47ee-9256-394b231e0d41" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_b12e0318-c4ee-47af-b051-3aa9f6c6ae11" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeaseLiability_5deed8a0-28bc-47ee-9256-394b231e0d41" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_b12e0318-c4ee-47af-b051-3aa9f6c6ae11" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_31fbbece-81ea-4c74-803f-bdaaa17d1398" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeaseLiability_5deed8a0-28bc-47ee-9256-394b231e0d41" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_31fbbece-81ea-4c74-803f-bdaaa17d1398" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#RevenuefromContractswithCustomersContractAssetandLiabilityDetails"/>
  <link:calculationLink xlink:role="http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_a8720e35-f7e9-45d3-a6e1-e8a02197a62d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent_4381e3b7-7654-40f7-800b-9bbf47701a3d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ContractWithCustomerLiability_a8720e35-f7e9-45d3-a6e1-e8a02197a62d" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent_4381e3b7-7654-40f7-800b-9bbf47701a3d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_71c6a478-c0b5-4902-941f-256a3a9b0ac2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ContractWithCustomerLiability_a8720e35-f7e9-45d3-a6e1-e8a02197a62d" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_71c6a478-c0b5-4902-941f-256a3a9b0ac2" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.calix.com/role/NetIncomePerCommonShareDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#NetIncomePerCommonShareDetails"/>
  <link:calculationLink xlink:role="http://www.calix.com/role/NetIncomePerCommonShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_4d6f30b3-b5ce-4290-946d-24683f300de8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_fbdfcd22-5447-4222-9a8f-6ca9566142d6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_4d6f30b3-b5ce-4290-946d-24683f300de8" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_fbdfcd22-5447-4222-9a8f-6ca9566142d6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_16ea7e04-4cfe-4cc8-b879-e6126219b02e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_4d6f30b3-b5ce-4290-946d-24683f300de8" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_16ea7e04-4cfe-4cc8-b879-e6126219b02e" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>9
<FILENAME>calx-20211002_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 2021 Workiva-->
<!--r:eb3e7fcf-54aa-41be-ae7f-06b3a004aa6e,g:41ec7d7a-5794-4cef-b971-9df9c68285ea-->
<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.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" xlink:type="simple" xlink:href="calx-20211002.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"/>
  <link:definitionLink xlink:role="http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" xlink:type="extended" id="i205864c37b504593b4b55ac36d4db231_CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenuesAbstract_be48e5b7-849d-416b-b8b2-765d7251277d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenuesAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_RevenuesAbstract_be48e5b7-849d-416b-b8b2-765d7251277d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_77aa53a2-33bf-4494-ae68-b52b5891b6f3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenuesAbstract_be48e5b7-849d-416b-b8b2-765d7251277d" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_77aa53a2-33bf-4494-ae68-b52b5891b6f3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenueAbstract_23b84ba1-7343-4d7b-bacf-9a639f9785cb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostOfRevenueAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_CostOfRevenueAbstract_23b84ba1-7343-4d7b-bacf-9a639f9785cb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_482b269c-7b1c-49bd-804d-32c42981379b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CostOfRevenueAbstract_23b84ba1-7343-4d7b-bacf-9a639f9785cb" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_482b269c-7b1c-49bd-804d-32c42981379b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_df257ee8-a9d8-45b1-b9d0-f752e5185d56" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GrossProfit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_GrossProfit_df257ee8-a9d8-45b1-b9d0-f752e5185d56" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpensesAbstract_39a99de2-18af-43bb-a0a0-cb961ba0f0f9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingExpensesAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_OperatingExpensesAbstract_39a99de2-18af-43bb-a0a0-cb961ba0f0f9" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense_1d6751fa-f5b8-4f98-8a22-76091b5ee51c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingExpensesAbstract_39a99de2-18af-43bb-a0a0-cb961ba0f0f9" xlink:to="loc_us-gaap_SellingAndMarketingExpense_1d6751fa-f5b8-4f98-8a22-76091b5ee51c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_cca7fd9e-942b-4e11-8bf1-7cce495c069d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingExpensesAbstract_39a99de2-18af-43bb-a0a0-cb961ba0f0f9" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_cca7fd9e-942b-4e11-8bf1-7cce495c069d" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_4c76e8f0-da7e-4d8c-aa84-bae424a01650" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingExpensesAbstract_39a99de2-18af-43bb-a0a0-cb961ba0f0f9" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_4c76e8f0-da7e-4d8c-aa84-bae424a01650" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_98fce3e7-14ec-46cd-ba90-7dcb7ba884bb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringCharges"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingExpensesAbstract_39a99de2-18af-43bb-a0a0-cb961ba0f0f9" xlink:to="loc_us-gaap_RestructuringCharges_98fce3e7-14ec-46cd-ba90-7dcb7ba884bb" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_e3a438af-6bee-46b4-8ab3-281551021f6a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingExpenses"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingExpensesAbstract_39a99de2-18af-43bb-a0a0-cb961ba0f0f9" xlink:to="loc_us-gaap_OperatingExpenses_e3a438af-6bee-46b4-8ab3-281551021f6a" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_a9650a46-13b0-4b0e-b2ad-ecff2fdd1488" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_OperatingIncomeLoss_a9650a46-13b0-4b0e-b2ad-ecff2fdd1488" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonoperatingIncomeExpenseAbstract_db56c5ca-36a4-48d1-95a5-6c546d39d729" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NonoperatingIncomeExpenseAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_NonoperatingIncomeExpenseAbstract_db56c5ca-36a4-48d1-95a5-6c546d39d729" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNonoperatingNet_2dff77d2-5a12-49c4-afb0-11958010b41f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_db56c5ca-36a4-48d1-95a5-6c546d39d729" xlink:to="loc_us-gaap_InterestIncomeExpenseNonoperatingNet_2dff77d2-5a12-49c4-afb0-11958010b41f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_2140e1cb-4d8c-49bb-89e0-2e70fc4539df" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_db56c5ca-36a4-48d1-95a5-6c546d39d729" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_2140e1cb-4d8c-49bb-89e0-2e70fc4539df" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_InterestAndOtherIncomeExpenseNonoperating_909dbe64-ddd8-400f-b797-d47216fae775" xlink:href="calx-20211002.xsd#calx_InterestAndOtherIncomeExpenseNonoperating"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_db56c5ca-36a4-48d1-95a5-6c546d39d729" xlink:to="loc_calx_InterestAndOtherIncomeExpenseNonoperating_909dbe64-ddd8-400f-b797-d47216fae775" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_7d406396-3e0b-4797-a9ba-24250cce4523" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_7d406396-3e0b-4797-a9ba-24250cce4523" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_57008135-ede3-460a-a6f6-5c7524279df7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_57008135-ede3-460a-a6f6-5c7524279df7" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss_bb91e8c3-47e7-4576-8500-4e76d513d366" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProfitLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_ProfitLoss_bb91e8c3-47e7-4576-8500-4e76d513d366" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_fddf88e4-3744-4898-93b9-2d2e95c7deb5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_EarningsPerShareAbstract_fddf88e4-3744-4898-93b9-2d2e95c7deb5" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_ca1980a2-d3ba-4cc5-9dab-0b7b5e129659" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EarningsPerShareAbstract_fddf88e4-3744-4898-93b9-2d2e95c7deb5" xlink:to="loc_us-gaap_EarningsPerShareBasic_ca1980a2-d3ba-4cc5-9dab-0b7b5e129659" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_ca7f464f-0db6-4b17-acc9-f7f2fd219854" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EarningsPerShareAbstract_fddf88e4-3744-4898-93b9-2d2e95c7deb5" xlink:to="loc_us-gaap_EarningsPerShareDiluted_ca7f464f-0db6-4b17-acc9-f7f2fd219854" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_406c4a63-db2b-46c5-98c3-19a3fede3bdc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_406c4a63-db2b-46c5-98c3-19a3fede3bdc" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_8aedb503-074f-4fa7-b992-3ed61b09b380" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_406c4a63-db2b-46c5-98c3-19a3fede3bdc" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_8aedb503-074f-4fa7-b992-3ed61b09b380" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_56f459a4-b7b2-4855-afe0-bd161ca7b2e6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_406c4a63-db2b-46c5-98c3-19a3fede3bdc" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_56f459a4-b7b2-4855-afe0-bd161ca7b2e6" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_0a23e964-1c42-468c-8662-49043eba0b8d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_0a23e964-1c42-468c-8662-49043eba0b8d" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_ebd1449a-9ed6-42be-ad91-8b71b90bff6d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_0a23e964-1c42-468c-8662-49043eba0b8d" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_ebd1449a-9ed6-42be-ad91-8b71b90bff6d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_29b57cb6-ffdb-42a7-aa1d-7f0469909dd6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_29b57cb6-ffdb-42a7-aa1d-7f0469909dd6" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_ad0633a1-7d66-4553-975a-8e21215cef0f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_StatementTable_ad0633a1-7d66-4553-975a-8e21215cef0f" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_dcdf3aad-75f2-4cc5-8ae2-4351deb489be" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_ad0633a1-7d66-4553-975a-8e21215cef0f" xlink:to="loc_srt_ProductOrServiceAxis_dcdf3aad-75f2-4cc5-8ae2-4351deb489be" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_dcdf3aad-75f2-4cc5-8ae2-4351deb489be_default" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_dcdf3aad-75f2-4cc5-8ae2-4351deb489be" xlink:to="loc_srt_ProductsAndServicesDomain_dcdf3aad-75f2-4cc5-8ae2-4351deb489be_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_5c6a0418-8b5a-47f0-a03b-b55d467b5c3f" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_dcdf3aad-75f2-4cc5-8ae2-4351deb489be" xlink:to="loc_srt_ProductsAndServicesDomain_5c6a0418-8b5a-47f0-a03b-b55d467b5c3f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_SystemsProductMember_eb303391-ad7f-4390-a535-97afe480bb4d" xlink:href="calx-20211002.xsd#calx_SystemsProductMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_5c6a0418-8b5a-47f0-a03b-b55d467b5c3f" xlink:to="loc_calx_SystemsProductMember_eb303391-ad7f-4390-a535-97afe480bb4d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TechnologyServiceMember_a8bcebd4-10c3-478f-8e6f-5e350ee62436" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TechnologyServiceMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_5c6a0418-8b5a-47f0-a03b-b55d467b5c3f" xlink:to="loc_us-gaap_TechnologyServiceMember_a8bcebd4-10c3-478f-8e6f-5e350ee62436" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" xlink:type="simple" xlink:href="calx-20211002.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"/>
  <link:definitionLink xlink:role="http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" xlink:type="extended" id="id0ee0a145790419d8a2305f408381306_CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_b50be5e9-da7b-4c7b-9b85-8860131462f6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_b50be5e9-da7b-4c7b-9b85-8860131462f6" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_1d237778-c39e-41ba-9f9c-8e01e4c21bb8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_1d237778-c39e-41ba-9f9c-8e01e4c21bb8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_4746e4bd-706e-4ca7-94ae-83021ca500da" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_StockholdersEquity_4746e4bd-706e-4ca7-94ae-83021ca500da" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_b353dce7-b09c-4850-9841-bcbd74e0575c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_b353dce7-b09c-4850-9841-bcbd74e0575c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_2e8d32a8-e767-479c-a500-ad39e68a48df" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_2e8d32a8-e767-479c-a500-ad39e68a48df" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_e1fc40ef-26e2-447c-91c9-dcf5270e1bb8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_e1fc40ef-26e2-447c-91c9-dcf5270e1bb8" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_181d7d8a-5ee3-41dc-b4d9-352f830717ba" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_181d7d8a-5ee3-41dc-b4d9-352f830717ba" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues_bc19583d-2ade-46c7-8316-4b33bafd7ba5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues_bc19583d-2ade-46c7-8316-4b33bafd7ba5" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_aaabb603-39a9-4708-b4fc-33321f1981e9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_aaabb603-39a9-4708-b4fc-33321f1981e9" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss_388ee7cf-23b7-4928-bb6d-6c6cc79e194b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProfitLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_ProfitLoss_388ee7cf-23b7-4928-bb6d-6c6cc79e194b" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_72959761-a240-4ad6-853b-fa13d10e4594" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_72959761-a240-4ad6-853b-fa13d10e4594" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_65aeecbb-ff3b-4209-b7d7-947e4c08873f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_9c03d70a-4c76-4903-b87f-4c90686fd767" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_ac1632f4-b323-4314-9dfb-656f36bc3fc7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_b50be5e9-da7b-4c7b-9b85-8860131462f6" xlink:to="loc_us-gaap_StatementTable_ac1632f4-b323-4314-9dfb-656f36bc3fc7" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_f3c64817-f2fb-490c-a220-f94d9a12ac37" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_ac1632f4-b323-4314-9dfb-656f36bc3fc7" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_f3c64817-f2fb-490c-a220-f94d9a12ac37" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_f3c64817-f2fb-490c-a220-f94d9a12ac37_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_f3c64817-f2fb-490c-a220-f94d9a12ac37" xlink:to="loc_us-gaap_EquityComponentDomain_f3c64817-f2fb-490c-a220-f94d9a12ac37_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_03806cae-902a-4054-9e0a-c108824186f2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_f3c64817-f2fb-490c-a220-f94d9a12ac37" xlink:to="loc_us-gaap_EquityComponentDomain_03806cae-902a-4054-9e0a-c108824186f2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_be217577-b0c2-400d-841e-3ec74f78bfce" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_03806cae-902a-4054-9e0a-c108824186f2" xlink:to="loc_us-gaap_CommonStockMember_be217577-b0c2-400d-841e-3ec74f78bfce" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_87fcb8f7-8c7d-49d9-abdd-824880ed4a57" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_03806cae-902a-4054-9e0a-c108824186f2" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_87fcb8f7-8c7d-49d9-abdd-824880ed4a57" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_fcfdbdd7-3781-4baa-aa31-e1b1456d08c7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_03806cae-902a-4054-9e0a-c108824186f2" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_fcfdbdd7-3781-4baa-aa31-e1b1456d08c7" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_4f2a9f62-85cb-441e-93b7-37c439104039" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_03806cae-902a-4054-9e0a-c108824186f2" xlink:to="loc_us-gaap_RetainedEarningsMember_4f2a9f62-85cb-441e-93b7-37c439104039" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockMember_d557ac38-9586-4022-ae64-74f72645c65d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_03806cae-902a-4054-9e0a-c108824186f2" xlink:to="loc_us-gaap_TreasuryStockMember_d557ac38-9586-4022-ae64-74f72645c65d" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#CashCashEquivalentsandMarketableSecuritiesDetails"/>
  <link:definitionLink xlink:role="http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails" xlink:type="extended" id="ieecb428818ef414891d82cdcde04354d_CashCashEquivalentsandMarketableSecuritiesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsLineItems_6434b737-5e9f-48a0-a6f9-9fbb8fdcfe17" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_7a73e7d7-1ed7-4948-8bf9-1d54ec1f97c4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_6434b737-5e9f-48a0-a6f9-9fbb8fdcfe17" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_7a73e7d7-1ed7-4948-8bf9-1d54ec1f97c4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2062a169-b6c2-4e16-81a7-fce55d3c9290" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_6434b737-5e9f-48a0-a6f9-9fbb8fdcfe17" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2062a169-b6c2-4e16-81a7-fce55d3c9290" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_CashCashEquivalentsAndMarketableSecurities_b37d4b8b-a2b6-4f3a-b5e7-5b94d6ea9c8a" xlink:href="calx-20211002.xsd#calx_CashCashEquivalentsAndMarketableSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_6434b737-5e9f-48a0-a6f9-9fbb8fdcfe17" xlink:to="loc_calx_CashCashEquivalentsAndMarketableSecurities_b37d4b8b-a2b6-4f3a-b5e7-5b94d6ea9c8a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTable_46909823-f201-4186-af6e-8781051a47d4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_6434b737-5e9f-48a0-a6f9-9fbb8fdcfe17" xlink:to="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTable_46909823-f201-4186-af6e-8781051a47d4" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis_567dd72b-a9fa-4a85-a4fc-f1800b73d8cc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTable_46909823-f201-4186-af6e-8781051a47d4" xlink:to="loc_us-gaap_CashAndCashEquivalentsAxis_567dd72b-a9fa-4a85-a4fc-f1800b73d8cc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_567dd72b-a9fa-4a85-a4fc-f1800b73d8cc_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_567dd72b-a9fa-4a85-a4fc-f1800b73d8cc" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_567dd72b-a9fa-4a85-a4fc-f1800b73d8cc_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_03fad9bd-72a8-4052-ac27-d91acd384c88" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_567dd72b-a9fa-4a85-a4fc-f1800b73d8cc" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_03fad9bd-72a8-4052-ac27-d91acd384c88" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashMember_0e0fbdeb-e083-4e5a-a197-599fb6672176" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_03fad9bd-72a8-4052-ac27-d91acd384c88" xlink:to="loc_us-gaap_CashMember_0e0fbdeb-e083-4e5a-a197-599fb6672176" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_7fd277e2-524c-487b-9b9c-79c47d525089" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommercialPaperMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_03fad9bd-72a8-4052-ac27-d91acd384c88" xlink:to="loc_us-gaap_CommercialPaperMember_7fd277e2-524c-487b-9b9c-79c47d525089" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsMember_aa66b146-1944-4fd0-ada4-a9e6c3c43e0d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MoneyMarketFundsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_03fad9bd-72a8-4052-ac27-d91acd384c88" xlink:to="loc_us-gaap_MoneyMarketFundsMember_aa66b146-1944-4fd0-ada4-a9e6c3c43e0d" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalNotesMember_b66d1db1-e8b1-41e3-91cc-3787b31fc20a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MunicipalNotesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_03fad9bd-72a8-4052-ac27-d91acd384c88" xlink:to="loc_us-gaap_MunicipalNotesMember_b66d1db1-e8b1-41e3-91cc-3787b31fc20a" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentDebtSecuritiesMember_8268b3c3-b9ea-45d4-9598-bb374828b577" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_USGovernmentDebtSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_03fad9bd-72a8-4052-ac27-d91acd384c88" xlink:to="loc_us-gaap_USGovernmentDebtSecuritiesMember_8268b3c3-b9ea-45d4-9598-bb374828b577" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_b6c09f8e-4fc1-4db3-875f-b62fdab68eb9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTable_46909823-f201-4186-af6e-8781051a47d4" xlink:to="loc_us-gaap_FinancialInstrumentAxis_b6c09f8e-4fc1-4db3-875f-b62fdab68eb9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b6c09f8e-4fc1-4db3-875f-b62fdab68eb9_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_b6c09f8e-4fc1-4db3-875f-b62fdab68eb9" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b6c09f8e-4fc1-4db3-875f-b62fdab68eb9_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_3b9ab65a-7f5d-42e6-8aa4-c3d6a1e42c89" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_b6c09f8e-4fc1-4db3-875f-b62fdab68eb9" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_3b9ab65a-7f5d-42e6-8aa4-c3d6a1e42c89" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_06349424-b24c-4695-b979-95f912a6801d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommercialPaperMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_3b9ab65a-7f5d-42e6-8aa4-c3d6a1e42c89" xlink:to="loc_us-gaap_CommercialPaperMember_06349424-b24c-4695-b979-95f912a6801d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_1482d27a-1f03-4a93-a73f-5d449ac09a03" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_USGovernmentAgenciesDebtSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_3b9ab65a-7f5d-42e6-8aa4-c3d6a1e42c89" xlink:to="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_1482d27a-1f03-4a93-a73f-5d449ac09a03" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateDebtSecuritiesMember_046d3390-0cbe-436d-a7b3-d9693a916672" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CorporateDebtSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_3b9ab65a-7f5d-42e6-8aa4-c3d6a1e42c89" xlink:to="loc_us-gaap_CorporateDebtSecuritiesMember_046d3390-0cbe-436d-a7b3-d9693a916672" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentDebtSecuritiesMember_a35479f9-325f-4fc3-b81c-4ab31b351816" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_USGovernmentDebtSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_3b9ab65a-7f5d-42e6-8aa4-c3d6a1e42c89" xlink:to="loc_us-gaap_USGovernmentDebtSecuritiesMember_a35479f9-325f-4fc3-b81c-4ab31b351816" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalNotesMember_bca71b64-a771-4add-8ecf-6f45e910df13" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MunicipalNotesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_3b9ab65a-7f5d-42e6-8aa4-c3d6a1e42c89" xlink:to="loc_us-gaap_MunicipalNotesMember_bca71b64-a771-4add-8ecf-6f45e910df13" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#FairValueMeasuresandDisclosuresDetails"/>
  <link:definitionLink xlink:role="http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" xlink:type="extended" id="ieda5f191a9b445b8890a43c1c7dc5186_FairValueMeasuresandDisclosuresDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_835bc3e0-dc75-46e5-a31f-9365ff8ac513" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_40096e2f-2c16-42aa-8140-d9be88370224" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_835bc3e0-dc75-46e5-a31f-9365ff8ac513" xlink:to="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_40096e2f-2c16-42aa-8140-d9be88370224" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_bcec4c09-d849-4e73-ae58-d6044a286e1a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_835bc3e0-dc75-46e5-a31f-9365ff8ac513" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_bcec4c09-d849-4e73-ae58-d6044a286e1a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_24a2999f-b0a6-45da-a846-28822cba13cd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_835bc3e0-dc75-46e5-a31f-9365ff8ac513" xlink:to="loc_us-gaap_AssetsFairValueDisclosure_24a2999f-b0a6-45da-a846-28822cba13cd" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ca92cbe9-bcef-4a1a-b884-8447ba8472fd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_835bc3e0-dc75-46e5-a31f-9365ff8ac513" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ca92cbe9-bcef-4a1a-b884-8447ba8472fd" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_7cbbb8e6-0d53-4d50-ae71-84122dc29ee7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ca92cbe9-bcef-4a1a-b884-8447ba8472fd" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_7cbbb8e6-0d53-4d50-ae71-84122dc29ee7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_7cbbb8e6-0d53-4d50-ae71-84122dc29ee7_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_7cbbb8e6-0d53-4d50-ae71-84122dc29ee7" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_7cbbb8e6-0d53-4d50-ae71-84122dc29ee7_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_c9dbabf8-f950-46a8-9dcc-f34bb54cf0f3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_7cbbb8e6-0d53-4d50-ae71-84122dc29ee7" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_c9dbabf8-f950-46a8-9dcc-f34bb54cf0f3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_ed2e2142-10a3-4c15-8848-17e9475d10ef" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_c9dbabf8-f950-46a8-9dcc-f34bb54cf0f3" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_ed2e2142-10a3-4c15-8848-17e9475d10ef" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis_9c344024-aadf-47ec-9d1c-7edf829db01c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ca92cbe9-bcef-4a1a-b884-8447ba8472fd" xlink:to="loc_us-gaap_CashAndCashEquivalentsAxis_9c344024-aadf-47ec-9d1c-7edf829db01c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_9c344024-aadf-47ec-9d1c-7edf829db01c_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_9c344024-aadf-47ec-9d1c-7edf829db01c" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_9c344024-aadf-47ec-9d1c-7edf829db01c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_e38587a8-25e4-444a-91c7-ae88663a69fd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_9c344024-aadf-47ec-9d1c-7edf829db01c" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_e38587a8-25e4-444a-91c7-ae88663a69fd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsMember_999b5935-eaad-49ca-92ce-687020b30023" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MoneyMarketFundsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_e38587a8-25e4-444a-91c7-ae88663a69fd" xlink:to="loc_us-gaap_MoneyMarketFundsMember_999b5935-eaad-49ca-92ce-687020b30023" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_148a31e7-9854-48a5-9299-3aaf9ce29302" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ca92cbe9-bcef-4a1a-b884-8447ba8472fd" xlink:to="loc_us-gaap_FinancialInstrumentAxis_148a31e7-9854-48a5-9299-3aaf9ce29302" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_148a31e7-9854-48a5-9299-3aaf9ce29302_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_148a31e7-9854-48a5-9299-3aaf9ce29302" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_148a31e7-9854-48a5-9299-3aaf9ce29302_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a8b05380-f752-48d4-847c-4b13754071bd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_148a31e7-9854-48a5-9299-3aaf9ce29302" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a8b05380-f752-48d4-847c-4b13754071bd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentDebtSecuritiesMember_0cd73517-9566-4e11-ae1b-2949c31524cc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_USGovernmentDebtSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a8b05380-f752-48d4-847c-4b13754071bd" xlink:to="loc_us-gaap_USGovernmentDebtSecuritiesMember_0cd73517-9566-4e11-ae1b-2949c31524cc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_26487779-e406-41ee-8829-cb115328f209" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommercialPaperMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a8b05380-f752-48d4-847c-4b13754071bd" xlink:to="loc_us-gaap_CommercialPaperMember_26487779-e406-41ee-8829-cb115328f209" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_0961128e-795c-4de6-a8b2-3131f63f8794" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_USGovernmentAgenciesDebtSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a8b05380-f752-48d4-847c-4b13754071bd" xlink:to="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_0961128e-795c-4de6-a8b2-3131f63f8794" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateDebtSecuritiesMember_fd389207-a9c4-43b6-bb55-91e4bbcdf1ca" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CorporateDebtSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a8b05380-f752-48d4-847c-4b13754071bd" xlink:to="loc_us-gaap_CorporateDebtSecuritiesMember_fd389207-a9c4-43b6-bb55-91e4bbcdf1ca" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalNotesMember_ff1f43d3-fde4-4fe0-90e9-74d22bd63207" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MunicipalNotesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a8b05380-f752-48d4-847c-4b13754071bd" xlink:to="loc_us-gaap_MunicipalNotesMember_ff1f43d3-fde4-4fe0-90e9-74d22bd63207" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_3a670b6d-53bc-449c-a1bf-20e4868a8fc0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ca92cbe9-bcef-4a1a-b884-8447ba8472fd" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_3a670b6d-53bc-449c-a1bf-20e4868a8fc0" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_3a670b6d-53bc-449c-a1bf-20e4868a8fc0_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_3a670b6d-53bc-449c-a1bf-20e4868a8fc0" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_3a670b6d-53bc-449c-a1bf-20e4868a8fc0_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_8a09e83d-485f-46a9-b236-0b811598a3fa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_3a670b6d-53bc-449c-a1bf-20e4868a8fc0" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_8a09e83d-485f-46a9-b236-0b811598a3fa" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_d7b5784d-c810-4eaf-a858-0f2d6b8f2ad8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_8a09e83d-485f-46a9-b236-0b811598a3fa" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_d7b5784d-c810-4eaf-a858-0f2d6b8f2ad8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_985a497c-849c-4a09-bc34-5c517b83df81" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_8a09e83d-485f-46a9-b236-0b811598a3fa" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_985a497c-849c-4a09-bc34-5c517b83df81" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#BalanceSheetDetailsPropertyandEquipmentnetDetails"/>
  <link:definitionLink xlink:role="http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" xlink:type="extended" id="i21be26e4c9044401bdbdf22fb86707b8_BalanceSheetDetailsPropertyandEquipmentnetDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_4fc85612-6391-4ce7-bf32-9e5c22bf015e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_b92f544d-c2f5-4c9b-847d-fc4f43f4c303" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_4fc85612-6391-4ce7-bf32-9e5c22bf015e" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_b92f544d-c2f5-4c9b-847d-fc4f43f4c303" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_0f0e7bb0-4b72-4a47-9a8d-173cb8a31c1b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_b92f544d-c2f5-4c9b-847d-fc4f43f4c303" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_0f0e7bb0-4b72-4a47-9a8d-173cb8a31c1b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_8ba8778c-b410-4428-b2c4-f20bb970b543" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_b92f544d-c2f5-4c9b-847d-fc4f43f4c303" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_8ba8778c-b410-4428-b2c4-f20bb970b543" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_3254bd6a-9e94-48b8-b58d-256107e26c76" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_b92f544d-c2f5-4c9b-847d-fc4f43f4c303" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_3254bd6a-9e94-48b8-b58d-256107e26c76" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_7e775060-eff2-475c-b632-34b39689176b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_4fc85612-6391-4ce7-bf32-9e5c22bf015e" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_7e775060-eff2-475c-b632-34b39689176b" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_8e448275-877a-4cdf-b34b-30bf3b8b4751" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_7e775060-eff2-475c-b632-34b39689176b" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_8e448275-877a-4cdf-b34b-30bf3b8b4751" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_8e448275-877a-4cdf-b34b-30bf3b8b4751_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_8e448275-877a-4cdf-b34b-30bf3b8b4751" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_8e448275-877a-4cdf-b34b-30bf3b8b4751_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_36ed6bdc-33f6-4b48-aee9-76bb1ab377bb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_8e448275-877a-4cdf-b34b-30bf3b8b4751" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_36ed6bdc-33f6-4b48-aee9-76bb1ab377bb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquipmentMember_59c1393c-8c72-4d49-860a-f27416856aaa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquipmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_36ed6bdc-33f6-4b48-aee9-76bb1ab377bb" xlink:to="loc_us-gaap_EquipmentMember_59c1393c-8c72-4d49-860a-f27416856aaa" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_SoftwareMember_d3bb9b29-4618-4908-96ee-de54a4fda80b" xlink:href="calx-20211002.xsd#calx_SoftwareMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_36ed6bdc-33f6-4b48-aee9-76bb1ab377bb" xlink:to="loc_calx_SoftwareMember_d3bb9b29-4618-4908-96ee-de54a4fda80b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember_c6eba870-27fe-4a90-bc66-d360ad27bd88" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_36ed6bdc-33f6-4b48-aee9-76bb1ab377bb" xlink:to="loc_us-gaap_ComputerEquipmentMember_c6eba870-27fe-4a90-bc66-d360ad27bd88" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_2223efac-6c92-4c72-9859-875c780b128c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_36ed6bdc-33f6-4b48-aee9-76bb1ab377bb" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_2223efac-6c92-4c72-9859-875c780b128c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_e0136dd1-58fd-4f3a-b61f-9e14e1152f10" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_36ed6bdc-33f6-4b48-aee9-76bb1ab377bb" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_e0136dd1-58fd-4f3a-b61f-9e14e1152f10" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#BalanceSheetDetailsLossonAssetRetirementDetails"/>
  <link:definitionLink xlink:role="http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails" xlink:type="extended" id="i4428dd38cac84473a9cdddf6ceb1fc63_BalanceSheetDetailsLossonAssetRetirementDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_a341ab05-c096-41dd-9b9d-550196fcff20" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_a341ab05-c096-41dd-9b9d-550196fcff20" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsMiscellaneousNoncurrent_824e39a5-f8e9-43d1-ae0b-4a17d01d1e78" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsMiscellaneousNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:to="loc_us-gaap_OtherAssetsMiscellaneousNoncurrent_824e39a5-f8e9-43d1-ae0b-4a17d01d1e78" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_236ca31d-4554-44fc-8252-fee1eebd224d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_236ca31d-4554-44fc-8252-fee1eebd224d" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RoyaltyGuaranteesCommitmentsAmount_0efcd61d-b60f-46ec-ad0a-18dc95efc6df" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RoyaltyGuaranteesCommitmentsAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:to="loc_us-gaap_RoyaltyGuaranteesCommitmentsAmount_0efcd61d-b60f-46ec-ad0a-18dc95efc6df" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_d1c1802b-4dcd-4d28-80a9-a7a4b886493f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_d1c1802b-4dcd-4d28-80a9-a7a4b886493f" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilities_eb42fb48-494f-4464-87cd-13824feabb18" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:to="loc_us-gaap_OtherLiabilities_eb42fb48-494f-4464-87cd-13824feabb18" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_9d38b8c7-6fef-4604-9cfb-de037edb3fba" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_9d38b8c7-6fef-4604-9cfb-de037edb3fba" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_521fc873-5890-4d3c-9cc9-107a74845862" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_521fc873-5890-4d3c-9cc9-107a74845862" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_6d8da489-4fa3-4819-bb37-08c0f4137d43" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_6d8da489-4fa3-4819-bb37-08c0f4137d43" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_11312307-aefe-4ad9-9387-9e9d1a9b1009" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_11312307-aefe-4ad9-9387-9e9d1a9b1009" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_8bd18ed7-1321-4be0-b495-8b815451b6f5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_11312307-aefe-4ad9-9387-9e9d1a9b1009" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_8bd18ed7-1321-4be0-b495-8b815451b6f5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_8bd18ed7-1321-4be0-b495-8b815451b6f5_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_8bd18ed7-1321-4be0-b495-8b815451b6f5" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_8bd18ed7-1321-4be0-b495-8b815451b6f5_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_ff76af53-8128-4a90-b445-b260a901c1ab" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_8bd18ed7-1321-4be0-b495-8b815451b6f5" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_ff76af53-8128-4a90-b445-b260a901c1ab" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerSoftwareIntangibleAssetMember_afe743f6-87bf-47ff-acf0-f668d0b74ea5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_ff76af53-8128-4a90-b445-b260a901c1ab" xlink:to="loc_us-gaap_ComputerSoftwareIntangibleAssetMember_afe743f6-87bf-47ff-acf0-f668d0b74ea5" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#BalanceSheetDetailsRestructuringDetails"/>
  <link:definitionLink xlink:role="http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails" xlink:type="extended" id="i53eb6c0fe5214fc584af0478edadc8b4_BalanceSheetDetailsRestructuringDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_6bf79286-8c6c-41dc-9fe7-edbd5f0ac935" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_b802ca86-cf19-474f-b13d-8bb07f25884f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringCharges"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_6bf79286-8c6c-41dc-9fe7-edbd5f0ac935" xlink:to="loc_us-gaap_RestructuringCharges_b802ca86-cf19-474f-b13d-8bb07f25884f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AssetWriteOff_d19ea6f9-80b3-412b-9f77-f04dd7823ef1" xlink:href="calx-20211002.xsd#calx_AssetWriteOff"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_6bf79286-8c6c-41dc-9fe7-edbd5f0ac935" xlink:to="loc_calx_AssetWriteOff_d19ea6f9-80b3-412b-9f77-f04dd7823ef1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff_add7befa-b034-4ba1-994f-9147807f9952" xlink:href="calx-20211002.xsd#calx_AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_6bf79286-8c6c-41dc-9fe7-edbd5f0ac935" xlink:to="loc_calx_AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff_add7befa-b034-4ba1-994f-9147807f9952" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveRollForward_ca7f7dcb-bd3f-42e1-8f5e-a2d376dd576c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringReserveRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_6bf79286-8c6c-41dc-9fe7-edbd5f0ac935" xlink:to="loc_us-gaap_RestructuringReserveRollForward_ca7f7dcb-bd3f-42e1-8f5e-a2d376dd576c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_82038b70-fb08-47a2-a6cb-a8a4e13dc5de" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringReserve"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringReserveRollForward_ca7f7dcb-bd3f-42e1-8f5e-a2d376dd576c" xlink:to="loc_us-gaap_RestructuringReserve_82038b70-fb08-47a2-a6cb-a8a4e13dc5de" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRestructuring_39e10245-3799-431a-8d88-205f02895748" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsForRestructuring"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringReserveRollForward_ca7f7dcb-bd3f-42e1-8f5e-a2d376dd576c" xlink:to="loc_us-gaap_PaymentsForRestructuring_39e10245-3799-431a-8d88-205f02895748" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_ab213b91-a3be-42bd-aa8a-253c964eb1c9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringReserve"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_37f73751-f5d8-4d98-8759-185ac00884c6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_6bf79286-8c6c-41dc-9fe7-edbd5f0ac935" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_37f73751-f5d8-4d98-8759-185ac00884c6" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveAxis_e25d10d1-2dc9-46a7-b77c-a0f3abb5d491" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringCostAndReserveAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_37f73751-f5d8-4d98-8759-185ac00884c6" xlink:to="loc_us-gaap_RestructuringCostAndReserveAxis_e25d10d1-2dc9-46a7-b77c-a0f3abb5d491" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_e25d10d1-2dc9-46a7-b77c-a0f3abb5d491_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis_e25d10d1-2dc9-46a7-b77c-a0f3abb5d491" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_e25d10d1-2dc9-46a7-b77c-a0f3abb5d491_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_b4a3828c-26c4-41ec-abea-b7d70684bd23" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis_e25d10d1-2dc9-46a7-b77c-a0f3abb5d491" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_b4a3828c-26c4-41ec-abea-b7d70684bd23" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FacilityClosingMember_b642941e-15e4-4ea2-a2bc-928f7379744c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FacilityClosingMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_b4a3828c-26c4-41ec-abea-b7d70684bd23" xlink:to="loc_us-gaap_FacilityClosingMember_b642941e-15e4-4ea2-a2bc-928f7379744c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeSeveranceMember_a7c0e3f4-0779-4ec6-8001-5992ae94cd25" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeSeveranceMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_b4a3828c-26c4-41ec-abea-b7d70684bd23" xlink:to="loc_us-gaap_EmployeeSeveranceMember_a7c0e3f4-0779-4ec6-8001-5992ae94cd25" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringPlanAxis_285efddf-8582-4bc1-a05f-ca2eea84e990" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringPlanAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_37f73751-f5d8-4d98-8759-185ac00884c6" xlink:to="loc_us-gaap_RestructuringPlanAxis_285efddf-8582-4bc1-a05f-ca2eea84e990" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringPlanDomain_285efddf-8582-4bc1-a05f-ca2eea84e990_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringPlanDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RestructuringPlanAxis_285efddf-8582-4bc1-a05f-ca2eea84e990" xlink:to="loc_us-gaap_RestructuringPlanDomain_285efddf-8582-4bc1-a05f-ca2eea84e990_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringPlanDomain_9291f48a-61c8-45ba-a04b-74ba65eee1d4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringPlanDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RestructuringPlanAxis_285efddf-8582-4bc1-a05f-ca2eea84e990" xlink:to="loc_us-gaap_RestructuringPlanDomain_9291f48a-61c8-45ba-a04b-74ba65eee1d4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember_dc754a27-c7f6-4dbf-abb4-90f46074d3d5" xlink:href="calx-20211002.xsd#calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringPlanDomain_9291f48a-61c8-45ba-a04b-74ba65eee1d4" xlink:to="loc_calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember_dc754a27-c7f6-4dbf-abb4-90f46074d3d5" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_c6d48c35-aa03-49da-9ddc-86556b469e94" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_StatementGeographicalAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_37f73751-f5d8-4d98-8759-185ac00884c6" xlink:to="loc_srt_StatementGeographicalAxis_c6d48c35-aa03-49da-9ddc-86556b469e94" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_c6d48c35-aa03-49da-9ddc-86556b469e94_default" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementGeographicalAxis_c6d48c35-aa03-49da-9ddc-86556b469e94" xlink:to="loc_srt_SegmentGeographicalDomain_c6d48c35-aa03-49da-9ddc-86556b469e94_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_7ba90782-a5c4-42f3-9cb7-03a8ee3265fa" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementGeographicalAxis_c6d48c35-aa03-49da-9ddc-86556b469e94" xlink:to="loc_srt_SegmentGeographicalDomain_7ba90782-a5c4-42f3-9cb7-03a8ee3265fa" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_RichardsonTexasAndSanJoseCaliforniaMember_45129032-5af4-44b5-851d-1536038d2cba" xlink:href="calx-20211002.xsd#calx_RichardsonTexasAndSanJoseCaliforniaMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_7ba90782-a5c4-42f3-9cb7-03a8ee3265fa" xlink:to="loc_calx_RichardsonTexasAndSanJoseCaliforniaMember_45129032-5af4-44b5-851d-1536038d2cba" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.calix.com/role/CreditAgreementsLineofCreditDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#CreditAgreementsLineofCreditDetails"/>
  <link:definitionLink xlink:role="http://www.calix.com/role/CreditAgreementsLineofCreditDetails" xlink:type="extended" id="i4048e53efa7e41f2b4b5057b9f2ed983_CreditAgreementsLineofCreditDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_afa263bd-a07d-409b-b3ed-393db1ac0dad" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_d8a48d7a-8d9a-4ccb-96bd-0411d3558fc5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_afa263bd-a07d-409b-b3ed-393db1ac0dad" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_d8a48d7a-8d9a-4ccb-96bd-0411d3558fc5" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_f8b2d569-3c08-4b91-ab22-6b9781d0144e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_afa263bd-a07d-409b-b3ed-393db1ac0dad" xlink:to="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_f8b2d569-3c08-4b91-ab22-6b9781d0144e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage_3746e617-335b-49ea-bbda-e73b0a3d1c63" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_afa263bd-a07d-409b-b3ed-393db1ac0dad" xlink:to="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage_3746e617-335b-49ea-bbda-e73b0a3d1c63" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCredit_98e7b953-eab3-4836-9b12-626c811e52f0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCredit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_afa263bd-a07d-409b-b3ed-393db1ac0dad" xlink:to="loc_us-gaap_LineOfCredit_98e7b953-eab3-4836-9b12-626c811e52f0" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_8b239ec3-8b39-45bd-b20e-fd02abb0945d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_afa263bd-a07d-409b-b3ed-393db1ac0dad" xlink:to="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_8b239ec3-8b39-45bd-b20e-fd02abb0945d" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_c2066606-b246-47f0-a283-a8f63e32e12e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_afa263bd-a07d-409b-b3ed-393db1ac0dad" xlink:to="loc_us-gaap_DebtInstrumentTable_c2066606-b246-47f0-a283-a8f63e32e12e" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityAxis_8bb01546-ed24-4417-afd7-0273f6d07333" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_c2066606-b246-47f0-a283-a8f63e32e12e" xlink:to="loc_us-gaap_LineOfCreditFacilityAxis_8bb01546-ed24-4417-afd7-0273f6d07333" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLenderDomain_8bb01546-ed24-4417-afd7-0273f6d07333_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityLenderDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LineOfCreditFacilityAxis_8bb01546-ed24-4417-afd7-0273f6d07333" xlink:to="loc_us-gaap_LineOfCreditFacilityLenderDomain_8bb01546-ed24-4417-afd7-0273f6d07333_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLenderDomain_41229f0c-e236-403e-867c-66c5847b6336" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityLenderDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LineOfCreditFacilityAxis_8bb01546-ed24-4417-afd7-0273f6d07333" xlink:to="loc_us-gaap_LineOfCreditFacilityLenderDomain_41229f0c-e236-403e-867c-66c5847b6336" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_BankOfAmericaMember_fd183db1-5d68-4832-b6de-96bbe3bcc5eb" xlink:href="calx-20211002.xsd#calx_BankOfAmericaMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLenderDomain_41229f0c-e236-403e-867c-66c5847b6336" xlink:to="loc_calx_BankOfAmericaMember_fd183db1-5d68-4832-b6de-96bbe3bcc5eb" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_54d0f603-9403-4f35-adfa-bfef42b486c3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VariableRateAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_c2066606-b246-47f0-a283-a8f63e32e12e" xlink:to="loc_us-gaap_VariableRateAxis_54d0f603-9403-4f35-adfa-bfef42b486c3" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_54d0f603-9403-4f35-adfa-bfef42b486c3_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VariableRateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_VariableRateAxis_54d0f603-9403-4f35-adfa-bfef42b486c3" xlink:to="loc_us-gaap_VariableRateDomain_54d0f603-9403-4f35-adfa-bfef42b486c3_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_3e8f2315-2ad4-4b49-a20f-8ea36342886b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VariableRateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_VariableRateAxis_54d0f603-9403-4f35-adfa-bfef42b486c3" xlink:to="loc_us-gaap_VariableRateDomain_3e8f2315-2ad4-4b49-a20f-8ea36342886b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_48aba63c-14ca-4ab7-bf25-78d6f8b83f5e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_3e8f2315-2ad4-4b49-a20f-8ea36342886b" xlink:to="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_48aba63c-14ca-4ab7-bf25-78d6f8b83f5e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrimeRateMember_2b4ef27d-851f-409c-bc14-73429794122c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrimeRateMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_3e8f2315-2ad4-4b49-a20f-8ea36342886b" xlink:to="loc_us-gaap_PrimeRateMember_2b4ef27d-851f-409c-bc14-73429794122c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_81af5be8-22b7-4a2b-8920-495975c7d124" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_c2066606-b246-47f0-a283-a8f63e32e12e" xlink:to="loc_srt_RangeAxis_81af5be8-22b7-4a2b-8920-495975c7d124" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_81af5be8-22b7-4a2b-8920-495975c7d124_default" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_81af5be8-22b7-4a2b-8920-495975c7d124" xlink:to="loc_srt_RangeMember_81af5be8-22b7-4a2b-8920-495975c7d124_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_ebfb3d66-d90c-4a82-9682-92bfa85dab75" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_81af5be8-22b7-4a2b-8920-495975c7d124" xlink:to="loc_srt_RangeMember_ebfb3d66-d90c-4a82-9682-92bfa85dab75" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_716fd280-3eb1-4049-b86c-22b0e013afef" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_ebfb3d66-d90c-4a82-9682-92bfa85dab75" xlink:to="loc_srt_MinimumMember_716fd280-3eb1-4049-b86c-22b0e013afef" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_b55cc6f1-cfc0-4449-aa19-1bff0f31c9f8" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_ebfb3d66-d90c-4a82-9682-92bfa85dab75" xlink:to="loc_srt_MaximumMember_b55cc6f1-cfc0-4449-aa19-1bff0f31c9f8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_1f41a9cf-2de8-4e1b-b978-c89fdd4fb4cc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_c2066606-b246-47f0-a283-a8f63e32e12e" xlink:to="loc_us-gaap_CreditFacilityAxis_1f41a9cf-2de8-4e1b-b978-c89fdd4fb4cc" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_1f41a9cf-2de8-4e1b-b978-c89fdd4fb4cc_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CreditFacilityAxis_1f41a9cf-2de8-4e1b-b978-c89fdd4fb4cc" xlink:to="loc_us-gaap_CreditFacilityDomain_1f41a9cf-2de8-4e1b-b978-c89fdd4fb4cc_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_6cf807d2-a6df-45df-b03f-ac056f0fa85b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CreditFacilityAxis_1f41a9cf-2de8-4e1b-b978-c89fdd4fb4cc" xlink:to="loc_us-gaap_CreditFacilityDomain_6cf807d2-a6df-45df-b03f-ac056f0fa85b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_43ec29b4-7c2f-4c71-9672-8f008b9a6f06" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_6cf807d2-a6df-45df-b03f-ac056f0fa85b" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_43ec29b4-7c2f-4c71-9672-8f008b9a6f06" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LetterOfCreditMember_61d999c5-44c8-4da2-beef-2a04ab57a569" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LetterOfCreditMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_6cf807d2-a6df-45df-b03f-ac056f0fa85b" xlink:to="loc_us-gaap_LetterOfCreditMember_61d999c5-44c8-4da2-beef-2a04ab57a569" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.calix.com/role/CommitmentsandContingenciesTextualDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#CommitmentsandContingenciesTextualDetails"/>
  <link:definitionLink xlink:role="http://www.calix.com/role/CommitmentsandContingenciesTextualDetails" xlink:type="extended" id="i5f79dbff56624a6b938808a62682745d_CommitmentsandContingenciesTextualDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesLineItems_0d930714-b49a-417d-8a8b-683dfe8e1b7a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LossContingenciesLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_5db84471-2e87-4359-a581-f0c2ee6a22c6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_0d930714-b49a-417d-8a8b-683dfe8e1b7a" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_5db84471-2e87-4359-a581-f0c2ee6a22c6" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_4711b493-0dcd-41e3-909d-25c37928f61a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_0d930714-b49a-417d-8a8b-683dfe8e1b7a" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_4711b493-0dcd-41e3-909d-25c37928f61a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_b81f2e9b-5263-489a-aa84-e4756bbe3a30" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_0d930714-b49a-417d-8a8b-683dfe8e1b7a" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_b81f2e9b-5263-489a-aa84-e4756bbe3a30" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseExpense_1f3ecb1c-ad8b-4de3-b2d3-63e0acae25ed" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_0d930714-b49a-417d-8a8b-683dfe8e1b7a" xlink:to="loc_us-gaap_OperatingLeaseExpense_1f3ecb1c-ad8b-4de3-b2d3-63e0acae25ed" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasePayments_85d65274-aad3-49a4-9874-d820a7f29e04" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeasePayments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_0d930714-b49a-417d-8a8b-683dfe8e1b7a" xlink:to="loc_us-gaap_OperatingLeasePayments_85d65274-aad3-49a4-9874-d820a7f29e04" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_a342d6c1-b851-46c1-9a0a-e1473c9d1357" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_0d930714-b49a-417d-8a8b-683dfe8e1b7a" xlink:to="loc_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_a342d6c1-b851-46c1-9a0a-e1473c9d1357" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer_9c77dd4c-c5d5-49f2-9755-3d72d6ed357f" xlink:href="calx-20211002.xsd#calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_0d930714-b49a-417d-8a8b-683dfe8e1b7a" xlink:to="loc_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer_9c77dd4c-c5d5-49f2-9755-3d72d6ed357f" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesTable_a04eb6d1-4b29-4814-b056-19ba3549e500" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LossContingenciesTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_LossContingenciesLineItems_0d930714-b49a-417d-8a8b-683dfe8e1b7a" xlink:to="loc_us-gaap_LossContingenciesTable_a04eb6d1-4b29-4814-b056-19ba3549e500" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_c98425e4-8720-4d7d-8837-74fd2b1a2429" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_StatementGeographicalAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LossContingenciesTable_a04eb6d1-4b29-4814-b056-19ba3549e500" xlink:to="loc_srt_StatementGeographicalAxis_c98425e4-8720-4d7d-8837-74fd2b1a2429" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_c98425e4-8720-4d7d-8837-74fd2b1a2429_default" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementGeographicalAxis_c98425e4-8720-4d7d-8837-74fd2b1a2429" xlink:to="loc_srt_SegmentGeographicalDomain_c98425e4-8720-4d7d-8837-74fd2b1a2429_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_7a8c6394-a4ac-409c-b069-1e4610c601a0" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementGeographicalAxis_c98425e4-8720-4d7d-8837-74fd2b1a2429" xlink:to="loc_srt_SegmentGeographicalDomain_7a8c6394-a4ac-409c-b069-1e4610c601a0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_SanJoseCaliforniaMember_04a0c995-e261-4e4e-abb8-31abfddc15de" xlink:href="calx-20211002.xsd#calx_SanJoseCaliforniaMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_7a8c6394-a4ac-409c-b069-1e4610c601a0" xlink:to="loc_calx_SanJoseCaliforniaMember_04a0c995-e261-4e4e-abb8-31abfddc15de" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.calix.com/role/StockholdersEquity2019EquityIncentiveAwardPlanDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#StockholdersEquity2019EquityIncentiveAwardPlanDetails"/>
  <link:definitionLink xlink:role="http://www.calix.com/role/StockholdersEquity2019EquityIncentiveAwardPlanDetails" xlink:type="extended" id="i295813518b214763886110079d5ad70f_StockholdersEquity2019EquityIncentiveAwardPlanDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_dcf8ba74-08c7-43d4-bb25-6b0634fad850" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares_90492813-5e96-4a7e-abac-0f840e50c5ad" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_dcf8ba74-08c7-43d4-bb25-6b0634fad850" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares_90492813-5e96-4a7e-abac-0f840e50c5ad" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_c574f00e-5dbd-42d4-ba1b-21700e1e6e89" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_dcf8ba74-08c7-43d4-bb25-6b0634fad850" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_c574f00e-5dbd-42d4-ba1b-21700e1e6e89" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b5bf33ea-47ed-4570-a215-8da20d1d30f8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_dcf8ba74-08c7-43d4-bb25-6b0634fad850" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b5bf33ea-47ed-4570-a215-8da20d1d30f8" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_66dd9c0f-28a2-4698-b165-6534e54dfaf3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b5bf33ea-47ed-4570-a215-8da20d1d30f8" xlink:to="loc_us-gaap_PlanNameAxis_66dd9c0f-28a2-4698-b165-6534e54dfaf3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_66dd9c0f-28a2-4698-b165-6534e54dfaf3_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_66dd9c0f-28a2-4698-b165-6534e54dfaf3" xlink:to="loc_us-gaap_PlanNameDomain_66dd9c0f-28a2-4698-b165-6534e54dfaf3_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_e1a75bf4-359b-4729-a20f-997982da8750" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_66dd9c0f-28a2-4698-b165-6534e54dfaf3" xlink:to="loc_us-gaap_PlanNameDomain_e1a75bf4-359b-4729-a20f-997982da8750" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_A2019EquityIncentiveAwardPlanMember_7cbeae09-269e-47c6-89ff-3a69cfee4c57" xlink:href="calx-20211002.xsd#calx_A2019EquityIncentiveAwardPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_e1a75bf4-359b-4729-a20f-997982da8750" xlink:to="loc_calx_A2019EquityIncentiveAwardPlanMember_7cbeae09-269e-47c6-89ff-3a69cfee4c57" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.calix.com/role/StockholdersEquityStockOptionsDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#StockholdersEquityStockOptionsDetails"/>
  <link:definitionLink xlink:role="http://www.calix.com/role/StockholdersEquityStockOptionsDetails" xlink:type="extended" id="i26f2cb3699064c0db8adc3900fce6c87_StockholdersEquityStockOptionsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_4f6e338d-7714-4197-9b7b-8eaf1c52611f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_4f6e338d-7714-4197-9b7b-8eaf1c52611f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_9095ef5a-aa89-4cbe-9fa9-836809d83296" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_9095ef5a-aa89-4cbe-9fa9-836809d83296" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1_70baa967-4498-43ad-8b92-b2aafc7a786f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1_70baa967-4498-43ad-8b92-b2aafc7a786f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_f8904733-439f-4f19-bed8-e74ec1d68ffa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_f8904733-439f-4f19-bed8-e74ec1d68ffa" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_e91758b9-bd02-4b3c-a3e5-4774173d7f6e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_e91758b9-bd02-4b3c-a3e5-4774173d7f6e" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent_6f97481a-65d6-4377-b8b5-4118d629a6dd" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent_6f97481a-65d6-4377-b8b5-4118d629a6dd" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent_7a7a9dc1-ecfd-4bc2-ab00-faf15720a2b5" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent_7a7a9dc1-ecfd-4bc2-ab00-faf15720a2b5" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet_ddbe5930-9486-47af-b665-8e91ed4a196c" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet_ddbe5930-9486-47af-b665-8e91ed4a196c" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent_d6dcfa59-10bd-47ad-b0ca-1d1b558be90e" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent_d6dcfa59-10bd-47ad-b0ca-1d1b558be90e" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent_7eb0ba7c-1f2f-40d1-98bc-97eacbe19d8c" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent_7eb0ba7c-1f2f-40d1-98bc-97eacbe19d8c" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_c3174cff-ecfa-4290-aea6-8e0cbdd7d5c0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_us-gaap_ShareBasedCompensation_c3174cff-ecfa-4290-aea6-8e0cbdd7d5c0" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_49b8282a-2e3d-417b-a673-bf5a5d4c4e19" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_49b8282a-2e3d-417b-a673-bf5a5d4c4e19" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_fe35166f-a8e7-42d5-be58-17499caa152f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_fe35166f-a8e7-42d5-be58-17499caa152f" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_1a18eee4-b209-47e4-99ce-9b564a7de99b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_1a18eee4-b209-47e4-99ce-9b564a7de99b" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_56dd7016-a602-40a4-9fa9-137b0328b488" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_56dd7016-a602-40a4-9fa9-137b0328b488" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_ca34acf6-d636-4f65-beca-0434294bcae1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_56dd7016-a602-40a4-9fa9-137b0328b488" xlink:to="loc_us-gaap_PlanNameAxis_ca34acf6-d636-4f65-beca-0434294bcae1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_ca34acf6-d636-4f65-beca-0434294bcae1_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_ca34acf6-d636-4f65-beca-0434294bcae1" xlink:to="loc_us-gaap_PlanNameDomain_ca34acf6-d636-4f65-beca-0434294bcae1_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_4bb5864c-b548-41b4-9e5f-e696522283f3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_ca34acf6-d636-4f65-beca-0434294bcae1" xlink:to="loc_us-gaap_PlanNameDomain_4bb5864c-b548-41b4-9e5f-e696522283f3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_A2021PerformanceTargetsMember_f1b811fb-1b4a-4fb7-9667-696ec1b86067" xlink:href="calx-20211002.xsd#calx_A2021PerformanceTargetsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_4bb5864c-b548-41b4-9e5f-e696522283f3" xlink:to="loc_calx_A2021PerformanceTargetsMember_f1b811fb-1b4a-4fb7-9667-696ec1b86067" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_42b4b427-2656-46ce-8e84-a49346d0de98" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_56dd7016-a602-40a4-9fa9-137b0328b488" xlink:to="loc_us-gaap_AwardTypeAxis_42b4b427-2656-46ce-8e84-a49346d0de98" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_42b4b427-2656-46ce-8e84-a49346d0de98_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_42b4b427-2656-46ce-8e84-a49346d0de98" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_42b4b427-2656-46ce-8e84-a49346d0de98_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_934fba7a-156f-41f8-b864-3ef88caceba4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_42b4b427-2656-46ce-8e84-a49346d0de98" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_934fba7a-156f-41f8-b864-3ef88caceba4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_f182c3c7-7200-439f-9882-a2089855a62f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_934fba7a-156f-41f8-b864-3ef88caceba4" xlink:to="loc_us-gaap_EmployeeStockOptionMember_f182c3c7-7200-439f-9882-a2089855a62f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_PerformanceBasedStockOptionsMember_5064b1c7-bc6f-491b-9db4-c820d67863fa" xlink:href="calx-20211002.xsd#calx_PerformanceBasedStockOptionsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_934fba7a-156f-41f8-b864-3ef88caceba4" xlink:to="loc_calx_PerformanceBasedStockOptionsMember_5064b1c7-bc6f-491b-9db4-c820d67863fa" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingAxis_db73309f-f834-4cb7-89d3-f18a436f762e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VestingAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_56dd7016-a602-40a4-9fa9-137b0328b488" xlink:to="loc_us-gaap_VestingAxis_db73309f-f834-4cb7-89d3-f18a436f762e" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain_db73309f-f834-4cb7-89d3-f18a436f762e_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VestingDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_VestingAxis_db73309f-f834-4cb7-89d3-f18a436f762e" xlink:to="loc_us-gaap_VestingDomain_db73309f-f834-4cb7-89d3-f18a436f762e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain_d12480bc-0334-45ed-8ff9-4166c00763bf" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VestingDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_VestingAxis_db73309f-f834-4cb7-89d3-f18a436f762e" xlink:to="loc_us-gaap_VestingDomain_d12480bc-0334-45ed-8ff9-4166c00763bf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_f6b7089f-17f1-4502-bbc6-c930f4e5ca8e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VestingDomain_d12480bc-0334-45ed-8ff9-4166c00763bf" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_f6b7089f-17f1-4502-bbc6-c930f4e5ca8e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_4db1f51d-45e2-4151-8fb2-d72fa2f64d49" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VestingDomain_d12480bc-0334-45ed-8ff9-4166c00763bf" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_4db1f51d-45e2-4151-8fb2-d72fa2f64d49" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis_af526872-e93f-4dfd-b056-ca0abf1d72c9" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_56dd7016-a602-40a4-9fa9-137b0328b488" xlink:to="loc_srt_TitleOfIndividualAxis_af526872-e93f-4dfd-b056-ca0abf1d72c9" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_af526872-e93f-4dfd-b056-ca0abf1d72c9_default" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_TitleOfIndividualAxis_af526872-e93f-4dfd-b056-ca0abf1d72c9" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_af526872-e93f-4dfd-b056-ca0abf1d72c9_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_4b7af476-bef5-4c46-98d5-2f53fdf468fa" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_TitleOfIndividualAxis_af526872-e93f-4dfd-b056-ca0abf1d72c9" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_4b7af476-bef5-4c46-98d5-2f53fdf468fa" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ExecutiveOfficerMember_7832a99b-2911-4090-90dd-ff8a093f7b73" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ExecutiveOfficerMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_4b7af476-bef5-4c46-98d5-2f53fdf468fa" xlink:to="loc_srt_ExecutiveOfficerMember_7832a99b-2911-4090-90dd-ff8a093f7b73" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#StockholdersEquityEmployeeStockPurchasePlansDetails"/>
  <link:definitionLink xlink:role="http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" xlink:type="extended" id="ib8cab28f50554378b877a5a1425e6c13_StockholdersEquityEmployeeStockPurchasePlansDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_NumberOfEmployeeStockPurchasePlans_ef7d00cd-b5ba-40c5-9b37-6cfb82b5acaf" xlink:href="calx-20211002.xsd#calx_NumberOfEmployeeStockPurchasePlans"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_calx_NumberOfEmployeeStockPurchasePlans_ef7d00cd-b5ba-40c5-9b37-6cfb82b5acaf" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate_0f9be7ed-70ae-4e90-9d7d-ddf4a5c28493" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate_0f9be7ed-70ae-4e90-9d7d-ddf4a5c28493" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee_1bbb7fd9-28c5-4e83-a013-7949a361354f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee_1bbb7fd9-28c5-4e83-a013-7949a361354f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod_dcb5209d-c27b-4fc2-8427-746c5e297dd8" xlink:href="calx-20211002.xsd#calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod_dcb5209d-c27b-4fc2-8427-746c5e297dd8" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_3811ce77-fd01-4535-85e7-0c19deab69c7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_3811ce77-fd01-4535-85e7-0c19deab69c7" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_174ea088-f128-4bd9-82b5-30839c05c51e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_174ea088-f128-4bd9-82b5-30839c05c51e" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_8272956e-de60-407a-900d-9fd1168bcfc5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_8272956e-de60-407a-900d-9fd1168bcfc5" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_af566cb2-a74e-4825-99dd-76824607540f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_af566cb2-a74e-4825-99dd-76824607540f" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan_94c542ba-8f2b-4e3d-a1d0-c39cce1f6d65" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan_94c542ba-8f2b-4e3d-a1d0-c39cce1f6d65" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_461cf6d8-bd67-47d8-a461-b04dc049e418" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_461cf6d8-bd67-47d8-a461-b04dc049e418" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_8532eb11-33a5-4140-a62d-0e69d040d3dd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_8532eb11-33a5-4140-a62d-0e69d040d3dd" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent_89f1804d-ee24-489a-9845-7cb1734b2490" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent_89f1804d-ee24-489a-9845-7cb1734b2490" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture_708f6882-405e-433a-a4aa-ee71a3f8a612" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture_708f6882-405e-433a-a4aa-ee71a3f8a612" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods_ed98f212-41ce-472c-9e61-ead63c58e0d8" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods_ed98f212-41ce-472c-9e61-ead63c58e0d8" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod_030e4929-4c36-4b60-8d16-4240f2b3a35d" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod_030e4929-4c36-4b60-8d16-4240f2b3a35d" xlink:type="arc" order="14"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod_982c8f40-25b4-4205-9a56-e7fc04fa07ee" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod_982c8f40-25b4-4205-9a56-e7fc04fa07ee" xlink:type="arc" order="15"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_65456310-b248-425e-be0a-a72980a4e42e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_65456310-b248-425e-be0a-a72980a4e42e" xlink:type="arc" order="16"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a2cc9fd1-4054-4498-a16c-440262584fe2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a2cc9fd1-4054-4498-a16c-440262584fe2" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_5f86b28f-a9ac-4a32-9d99-0147115b7e4b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a2cc9fd1-4054-4498-a16c-440262584fe2" xlink:to="loc_us-gaap_AwardTypeAxis_5f86b28f-a9ac-4a32-9d99-0147115b7e4b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5f86b28f-a9ac-4a32-9d99-0147115b7e4b_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_5f86b28f-a9ac-4a32-9d99-0147115b7e4b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5f86b28f-a9ac-4a32-9d99-0147115b7e4b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f279f648-2928-4e09-ba04-162ff03dccf1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_5f86b28f-a9ac-4a32-9d99-0147115b7e4b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f279f648-2928-4e09-ba04-162ff03dccf1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockMember_6753a5b7-f752-44f4-975c-c8d82f17cf0b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f279f648-2928-4e09-ba04-162ff03dccf1" xlink:to="loc_us-gaap_EmployeeStockMember_6753a5b7-f752-44f4-975c-c8d82f17cf0b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_547c4761-1655-47be-aba6-2d6dbf20a0c6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a2cc9fd1-4054-4498-a16c-440262584fe2" xlink:to="loc_us-gaap_PlanNameAxis_547c4761-1655-47be-aba6-2d6dbf20a0c6" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_547c4761-1655-47be-aba6-2d6dbf20a0c6_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_547c4761-1655-47be-aba6-2d6dbf20a0c6" xlink:to="loc_us-gaap_PlanNameDomain_547c4761-1655-47be-aba6-2d6dbf20a0c6_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_8a614158-4906-411d-96bc-f773f099d889" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_547c4761-1655-47be-aba6-2d6dbf20a0c6" xlink:to="loc_us-gaap_PlanNameDomain_8a614158-4906-411d-96bc-f773f099d889" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_A2017NonqualifiedEmployeeStockPurchasePlanMember_eb80a02b-e510-40c1-afe5-bf7046c62c34" xlink:href="calx-20211002.xsd#calx_A2017NonqualifiedEmployeeStockPurchasePlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_8a614158-4906-411d-96bc-f773f099d889" xlink:to="loc_calx_A2017NonqualifiedEmployeeStockPurchasePlanMember_eb80a02b-e510-40c1-afe5-bf7046c62c34" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#StockholdersEquityStockBasedCompensationExpenseDetails"/>
  <link:definitionLink xlink:role="http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" xlink:type="extended" id="ie94120db355e4c0baaca15b97031f08b_StockholdersEquityStockBasedCompensationExpenseDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_90e9b5f8-bb0b-4f23-8a51-54f469f06e54" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_31ba11f9-3cea-4fa9-b438-08f3273f07e6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_90e9b5f8-bb0b-4f23-8a51-54f469f06e54" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_31ba11f9-3cea-4fa9-b438-08f3273f07e6" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2f7bc9f0-c3d2-4ed5-85e2-192f7c299aff" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_90e9b5f8-bb0b-4f23-8a51-54f469f06e54" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2f7bc9f0-c3d2-4ed5-85e2-192f7c299aff" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_8ba2116f-f55d-4fe9-9c46-111955933341" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2f7bc9f0-c3d2-4ed5-85e2-192f7c299aff" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_8ba2116f-f55d-4fe9-9c46-111955933341" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_8ba2116f-f55d-4fe9-9c46-111955933341_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_8ba2116f-f55d-4fe9-9c46-111955933341" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_8ba2116f-f55d-4fe9-9c46-111955933341_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_9aa2c144-ca5e-48f0-a1e2-7b45c8e533cc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_8ba2116f-f55d-4fe9-9c46-111955933341" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_9aa2c144-ca5e-48f0-a1e2-7b45c8e533cc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_CostOfRevenueProductsMember_86522a12-85ec-4c40-af8b-c07f294606b6" xlink:href="calx-20211002.xsd#calx_CostOfRevenueProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_9aa2c144-ca5e-48f0-a1e2-7b45c8e533cc" xlink:to="loc_calx_CostOfRevenueProductsMember_86522a12-85ec-4c40-af8b-c07f294606b6" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_CostOfRevenueServicesMember_21765296-10e7-403e-bc31-bf989565f6fe" xlink:href="calx-20211002.xsd#calx_CostOfRevenueServicesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_9aa2c144-ca5e-48f0-a1e2-7b45c8e533cc" xlink:to="loc_calx_CostOfRevenueServicesMember_21765296-10e7-403e-bc31-bf989565f6fe" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpenseMember_6bb5fedf-fb93-4f53-a055-2906fdd49b57" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingAndMarketingExpenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_9aa2c144-ca5e-48f0-a1e2-7b45c8e533cc" xlink:to="loc_us-gaap_SellingAndMarketingExpenseMember_6bb5fedf-fb93-4f53-a055-2906fdd49b57" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_9e3e9be6-edda-4187-a828-dfdaacad3310" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_9aa2c144-ca5e-48f0-a1e2-7b45c8e533cc" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_9e3e9be6-edda-4187-a828-dfdaacad3310" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpenseMember_15b9f59a-f97a-4d26-b7ab-3c298fba8ba9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_9aa2c144-ca5e-48f0-a1e2-7b45c8e533cc" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpenseMember_15b9f59a-f97a-4d26-b7ab-3c298fba8ba9" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#RevenuefromContractswithCustomersRevenueDetails"/>
  <link:definitionLink xlink:role="http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" xlink:type="extended" id="i1eb6822dd6354e2087ce33a5488287c5_RevenuefromContractswithCustomersRevenueDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_a28cd1e6-a908-4cca-a5fd-f785fd6e2ba9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_01f14e0e-e336-4dce-8660-df4cb3ea28ce" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_a28cd1e6-a908-4cca-a5fd-f785fd6e2ba9" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_01f14e0e-e336-4dce-8660-df4cb3ea28ce" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_fdf67297-3fc9-43bc-a3f2-06c468e421f4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_a28cd1e6-a908-4cca-a5fd-f785fd6e2ba9" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_fdf67297-3fc9-43bc-a3f2-06c468e421f4" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_f2941a4e-3c40-4cfb-a9b4-9b9d68872d16" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_StatementGeographicalAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_fdf67297-3fc9-43bc-a3f2-06c468e421f4" xlink:to="loc_srt_StatementGeographicalAxis_f2941a4e-3c40-4cfb-a9b4-9b9d68872d16" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_f2941a4e-3c40-4cfb-a9b4-9b9d68872d16_default" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementGeographicalAxis_f2941a4e-3c40-4cfb-a9b4-9b9d68872d16" xlink:to="loc_srt_SegmentGeographicalDomain_f2941a4e-3c40-4cfb-a9b4-9b9d68872d16_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_4fc454f2-bdce-483b-9bda-b55d7c087b9a" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementGeographicalAxis_f2941a4e-3c40-4cfb-a9b4-9b9d68872d16" xlink:to="loc_srt_SegmentGeographicalDomain_4fc454f2-bdce-483b-9bda-b55d7c087b9a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_4edd8d31-f862-4f8d-917f-3e7847518808" xlink:href="https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd#country_US"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_4fc454f2-bdce-483b-9bda-b55d7c087b9a" xlink:to="loc_country_US_4edd8d31-f862-4f8d-917f-3e7847518808" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AmericasExUSMember_1edf5394-38d7-47b4-be95-5dc4ceda18ce" xlink:href="calx-20211002.xsd#calx_AmericasExUSMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_4fc454f2-bdce-483b-9bda-b55d7c087b9a" xlink:to="loc_calx_AmericasExUSMember_1edf5394-38d7-47b4-be95-5dc4ceda18ce" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_EuropeMember_d5970250-a1dd-423c-8251-ecd4512005a1" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_EuropeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_4fc454f2-bdce-483b-9bda-b55d7c087b9a" xlink:to="loc_srt_EuropeMember_d5970250-a1dd-423c-8251-ecd4512005a1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_MiddleEastAndAfricaMember_1b81ae08-ce76-44af-9dca-65bbcd1ef301" xlink:href="calx-20211002.xsd#calx_MiddleEastAndAfricaMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_4fc454f2-bdce-483b-9bda-b55d7c087b9a" xlink:to="loc_calx_MiddleEastAndAfricaMember_1b81ae08-ce76-44af-9dca-65bbcd1ef301" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_AsiaPacificMember_a785a324-f589-4345-88c9-2a5be80b19db" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_AsiaPacificMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_4fc454f2-bdce-483b-9bda-b55d7c087b9a" xlink:to="loc_srt_AsiaPacificMember_a785a324-f589-4345-88c9-2a5be80b19db" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#RevenuefromContractswithCustomersContractAssetandLiabilityDetails"/>
  <link:definitionLink xlink:role="http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails" xlink:type="extended" id="i334d1fdbe5f247489c821453126b214f_RevenuefromContractswithCustomersContractAssetandLiabilityDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_30f4fb82-287a-4ca5-83b8-d2de1fd8972f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet_36786cb3-a542-4988-83d9-007b70b738cd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_30f4fb82-287a-4ca5-83b8-d2de1fd8972f" xlink:to="loc_us-gaap_ContractWithCustomerAssetNet_36786cb3-a542-4988-83d9-007b70b738cd" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ContractwithCustomerAssetPriorPeriodNotRecognized_e5025a67-5da0-44cc-84a6-1c6a68e0aea4" xlink:href="calx-20211002.xsd#calx_ContractwithCustomerAssetPriorPeriodNotRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_30f4fb82-287a-4ca5-83b8-d2de1fd8972f" xlink:to="loc_calx_ContractwithCustomerAssetPriorPeriodNotRecognized_e5025a67-5da0-44cc-84a6-1c6a68e0aea4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent_5dec7eb5-1060-441d-a522-bae8082d39ec" xlink:href="calx-20211002.xsd#calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_30f4fb82-287a-4ca5-83b8-d2de1fd8972f" xlink:to="loc_calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent_5dec7eb5-1060-441d-a522-bae8082d39ec" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_d4358085-f1f7-4948-acf3-2d35c221f6fc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_30f4fb82-287a-4ca5-83b8-d2de1fd8972f" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_d4358085-f1f7-4948-acf3-2d35c221f6fc" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent_bfb12415-edc0-4825-8847-d2af7df4e760" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_30f4fb82-287a-4ca5-83b8-d2de1fd8972f" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent_bfb12415-edc0-4825-8847-d2af7df4e760" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_9656bbaf-8059-4b07-95bf-924249624873" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_30f4fb82-287a-4ca5-83b8-d2de1fd8972f" xlink:to="loc_us-gaap_ContractWithCustomerLiability_9656bbaf-8059-4b07-95bf-924249624873" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_b6efc033-edaa-477a-b1f3-02f1e2c82381" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_30f4fb82-287a-4ca5-83b8-d2de1fd8972f" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_b6efc033-edaa-477a-b1f3-02f1e2c82381" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_3668b58c-80ba-456e-9475-7c5d3f390df3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_30f4fb82-287a-4ca5-83b8-d2de1fd8972f" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_3668b58c-80ba-456e-9475-7c5d3f390df3" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenueArrangementTypeAxis_4a0f8ac1-b504-4954-9ef2-153dddd0728a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenueArrangementTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_3668b58c-80ba-456e-9475-7c5d3f390df3" xlink:to="loc_us-gaap_DeferredRevenueArrangementTypeAxis_4a0f8ac1-b504-4954-9ef2-153dddd0728a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenueArrangementTypeDomain_4a0f8ac1-b504-4954-9ef2-153dddd0728a_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenueArrangementTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DeferredRevenueArrangementTypeAxis_4a0f8ac1-b504-4954-9ef2-153dddd0728a" xlink:to="loc_us-gaap_DeferredRevenueArrangementTypeDomain_4a0f8ac1-b504-4954-9ef2-153dddd0728a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenueArrangementTypeDomain_3923eca1-0c54-4302-9dcd-71bc9a1e029c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenueArrangementTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DeferredRevenueArrangementTypeAxis_4a0f8ac1-b504-4954-9ef2-153dddd0728a" xlink:to="loc_us-gaap_DeferredRevenueArrangementTypeDomain_3923eca1-0c54-4302-9dcd-71bc9a1e029c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ProductAndServicesMember_b7da96c6-a1b5-4204-aa4b-fe36b7a20eef" xlink:href="calx-20211002.xsd#calx_ProductAndServicesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredRevenueArrangementTypeDomain_3923eca1-0c54-4302-9dcd-71bc9a1e029c" xlink:to="loc_calx_ProductAndServicesMember_b7da96c6-a1b5-4204-aa4b-fe36b7a20eef" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ExtendedWarrantyMember_be54d8ed-f8e5-4ee9-a911-86e9cb9c401e" xlink:href="calx-20211002.xsd#calx_ExtendedWarrantyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredRevenueArrangementTypeDomain_3923eca1-0c54-4302-9dcd-71bc9a1e029c" xlink:to="loc_calx_ExtendedWarrantyMember_be54d8ed-f8e5-4ee9-a911-86e9cb9c401e" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#RevenuefromContractswithCustomersPerformanceObligationsDetails"/>
  <link:definitionLink xlink:role="http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails" xlink:type="extended" id="i3314fa2813f04d8c82f45362023607d2_RevenuefromContractswithCustomersPerformanceObligationsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_8bb20742-4174-4548-bfc5-2eddfab85ca5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_4318786f-ea07-4a8a-84b3-ec1fdbf34805" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_8bb20742-4174-4548-bfc5-2eddfab85ca5" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_4318786f-ea07-4a8a-84b3-ec1fdbf34805" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_38c6b479-dcc3-4771-a98e-2aed358493c9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_8bb20742-4174-4548-bfc5-2eddfab85ca5" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_38c6b479-dcc3-4771-a98e-2aed358493c9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_9467018b-71de-4c6b-99e7-db65c546f00a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_8bb20742-4174-4548-bfc5-2eddfab85ca5" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_9467018b-71de-4c6b-99e7-db65c546f00a" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_ffc01a22-1f35-4ce7-a76d-7ad277399b0b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_9467018b-71de-4c6b-99e7-db65c546f00a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_ffc01a22-1f35-4ce7-a76d-7ad277399b0b" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails_1" xlink:type="simple" xlink:href="calx-20211002.xsd#RevenuefromContractswithCustomersPerformanceObligationsDetails_1"/>
  <link:definitionLink xlink:role="http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails_1" xlink:type="extended" id="i080daa4b07814d8882d67ae106a018e4_RevenuefromContractswithCustomersPerformanceObligationsDetails_1">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_8bb20742-4174-4548-bfc5-2eddfab85ca5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_4318786f-ea07-4a8a-84b3-ec1fdbf34805" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_8bb20742-4174-4548-bfc5-2eddfab85ca5" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_4318786f-ea07-4a8a-84b3-ec1fdbf34805" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_38c6b479-dcc3-4771-a98e-2aed358493c9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_8bb20742-4174-4548-bfc5-2eddfab85ca5" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_38c6b479-dcc3-4771-a98e-2aed358493c9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_9467018b-71de-4c6b-99e7-db65c546f00a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_8bb20742-4174-4548-bfc5-2eddfab85ca5" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_9467018b-71de-4c6b-99e7-db65c546f00a" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#RevenuefromContractswithCustomersConcentrationRiskDetails"/>
  <link:definitionLink xlink:role="http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" xlink:type="extended" id="i4cdaac3364794c9c9e5a631b27213500_RevenuefromContractswithCustomersConcentrationRiskDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskLineItems_46b9c9d6-6a14-4d54-9171-d77cfb04f781" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_b84be9cd-e405-4eb1-8439-c880d4376ea1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_46b9c9d6-6a14-4d54-9171-d77cfb04f781" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_b84be9cd-e405-4eb1-8439-c880d4376ea1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTable_8182c908-ec72-4fd2-a946-12083c1fd6be" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_46b9c9d6-6a14-4d54-9171-d77cfb04f781" xlink:to="loc_us-gaap_ConcentrationRiskTable_8182c908-ec72-4fd2-a946-12083c1fd6be" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis_5a7413cf-70aa-4560-a7c7-a20c12cfdc3d" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MajorCustomersAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_8182c908-ec72-4fd2-a946-12083c1fd6be" xlink:to="loc_srt_MajorCustomersAxis_5a7413cf-70aa-4560-a7c7-a20c12cfdc3d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_5a7413cf-70aa-4560-a7c7-a20c12cfdc3d_default" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_MajorCustomersAxis_5a7413cf-70aa-4560-a7c7-a20c12cfdc3d" xlink:to="loc_srt_NameOfMajorCustomerDomain_5a7413cf-70aa-4560-a7c7-a20c12cfdc3d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_3072f6b3-f31f-4425-8ee7-fcbc992b9887" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_MajorCustomersAxis_5a7413cf-70aa-4560-a7c7-a20c12cfdc3d" xlink:to="loc_srt_NameOfMajorCustomerDomain_3072f6b3-f31f-4425-8ee7-fcbc992b9887" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_OneCustomerMember_278b99d8-8522-47bd-97b6-dc9b1afc9b10" xlink:href="calx-20211002.xsd#calx_OneCustomerMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_3072f6b3-f31f-4425-8ee7-fcbc992b9887" xlink:to="loc_calx_OneCustomerMember_278b99d8-8522-47bd-97b6-dc9b1afc9b10" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_LumenTechnologiesIncMember_f57f9005-6d0a-405f-aee1-353cee485a4d" xlink:href="calx-20211002.xsd#calx_LumenTechnologiesIncMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_3072f6b3-f31f-4425-8ee7-fcbc992b9887" xlink:to="loc_calx_LumenTechnologiesIncMember_f57f9005-6d0a-405f-aee1-353cee485a4d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_e01fdd43-29c3-4766-8eab-372ad6aa032b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_8182c908-ec72-4fd2-a946-12083c1fd6be" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_e01fdd43-29c3-4766-8eab-372ad6aa032b" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_e01fdd43-29c3-4766-8eab-372ad6aa032b_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_e01fdd43-29c3-4766-8eab-372ad6aa032b" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_e01fdd43-29c3-4766-8eab-372ad6aa032b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_062620e5-d82a-4b84-9b45-5ab32f18bfb3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_e01fdd43-29c3-4766-8eab-372ad6aa032b" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_062620e5-d82a-4b84-9b45-5ab32f18bfb3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember_b3201144-089f-45a6-aad8-91df5e240532" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_062620e5-d82a-4b84-9b45-5ab32f18bfb3" xlink:to="loc_us-gaap_CustomerConcentrationRiskMember_b3201144-089f-45a6-aad8-91df5e240532" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_d3fe78ca-371d-43bc-b740-b92c1e81e039" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_8182c908-ec72-4fd2-a946-12083c1fd6be" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_d3fe78ca-371d-43bc-b740-b92c1e81e039" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_d3fe78ca-371d-43bc-b740-b92c1e81e039_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_d3fe78ca-371d-43bc-b740-b92c1e81e039" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_d3fe78ca-371d-43bc-b740-b92c1e81e039_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_8832e49c-3fe5-4508-a83c-06fc8cb74017" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_d3fe78ca-371d-43bc-b740-b92c1e81e039" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_8832e49c-3fe5-4508-a83c-06fc8cb74017" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerMember_fb2a20cd-d6ce-4062-8281-72bad493f849" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_8832e49c-3fe5-4508-a83c-06fc8cb74017" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerMember_fb2a20cd-d6ce-4062-8281-72bad493f849" xlink:type="arc" order="0"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>10
<FILENAME>calx-20211002_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 2021 Workiva-->
<!--r:eb3e7fcf-54aa-41be-ae7f-06b3a004aa6e,g:41ec7d7a-5794-4cef-b971-9df9c68285ea-->
<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_dei_DocumentType_927434b4-09b2-4b6d-8ff5-2b7696b3f5d0_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/2020/dei-2020-01-31.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_OtherNonoperatingIncomeExpense_d700c80c-b64d-4d8c-b5cb-29757eb186dc_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" 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">Other expense, 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ScheduleOfProductWarrantyLiabilityTableTextBlock_92645869-849c-4a44-8651-be3a7973dfda_verboseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" 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">Product warranty activities</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_747ce50b-d5d4-4de2-b71e-c63c5abb5801_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" 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">Stock options granted (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink: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, Grants in Period, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_1c51d8bb-8a06-4eb4-9296-ff0ff0c8c0eb_verboseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_TreasuryStockMember_7e2db4b0-09c1-4a31-82a7-6256760ed7d5_terseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock</link:label>
    <link:label id="lab_us-gaap_TreasuryStockMember_label_en-US" xlink:label="lab_us-gaap_TreasuryStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockMember" xlink:to="lab_us-gaap_TreasuryStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_60693f3a-5977-4b03-8894-4f0fa3dcc4df_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink: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 additional shares authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink: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, Number of Additional Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_e08566e5-f222-4c58-b7bb-f62bc0e91d51_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_srt_RangeMember_971747ca-182f-4763-b14f-e91d9977fa84_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="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.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_LiabilitiesAndStockholdersEquityAbstract_d442b866-5f5f-4fcd-95f9-c13b21c8c615_verboseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d46cc96a-65f0-435e-984b-8c37dedf0dc7_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_RestructuringCostAndReserveLineItems_f18fd18f-13c8-4aad-bd6f-c093a12a2114_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_IncreaseDecreaseInOtherNoncurrentLiabilities_4b0eefc9-1261-40e8-bdec-d6ec388dff3d_verboseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" 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">Other long-term liabilities</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink: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 Noncurrent Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualClassifiedCurrent_ca3e31ac-485f-4646-baa2-8cf4caae03c9_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">Warranty and retrofit</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_dei_SecurityExchangeName_1508829e-124e-4403-a297-f05676a7c154_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/2020/dei-2020-01-31.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_IntangibleAssetsNetExcludingGoodwill_0f2ce87b-e95c-4c49-858e-52892b0dd0bd_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">Intangible asset</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_SellingAndMarketingExpenseMember_191d6263-ecf1-4f58-b5d4-cec267949c90_terseLabel_en-US" xlink:label="lab_us-gaap_SellingAndMarketingExpenseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales and marketing</link:label>
    <link:label id="lab_us-gaap_SellingAndMarketingExpenseMember_label_en-US" xlink:label="lab_us-gaap_SellingAndMarketingExpenseMember" xlink: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 and Marketing Expense [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpenseMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingAndMarketingExpenseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingAndMarketingExpenseMember" xlink:to="lab_us-gaap_SellingAndMarketingExpenseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod_5ad2ffda-d0d9-46a7-a13c-d879af8e98dd_terseLabel_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Offering period</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod_label_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod" xlink: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, Offering Period</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod_documentation_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod" 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">Share-Based Compensation Arrangement By Share-Based Payment Award, Offering Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod" xlink:to="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_e26b4630-e9ab-4c79-a88b-c7b0da30d264_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">Income from operations</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods_6238ca18-7e5f-4b0c-b60d-5faefd7a2cea_terseLabel_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods" xlink: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 offering periods</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods_label_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods" xlink: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, Number Of Offering Periods</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods_documentation_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods" 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">Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Offering Periods</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods" xlink:to="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsOfDebtIssuanceCosts_04391c11-a0b8-45fb-9eca-37f9b8190f05_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfDebtIssuanceCosts" 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">Payments to originate the line of credit</link:label>
    <link:label id="lab_us-gaap_PaymentsOfDebtIssuanceCosts_label_en-US" xlink:label="lab_us-gaap_PaymentsOfDebtIssuanceCosts" xlink: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 of Debt Issuance Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDebtIssuanceCosts" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsOfDebtIssuanceCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsOfDebtIssuanceCosts" xlink:to="lab_us-gaap_PaymentsOfDebtIssuanceCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_b9ad2743-5b46-43d8-b5c5-7ada718e7f96_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ContractWithCustomerAssetAndLiabilityTableTextBlock_94a8a41f-1608-4831-9d53-b9f70a3608c0_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink: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, by arrangement, disclosure</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink: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, Contract Asset, Contract Liability, and Receivable [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember_d2009d8a-b9e6-459e-ab62-efc63ad01ec2_terseLabel_en-US" xlink:label="lab_calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember" xlink: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 Platform Future And Work-From-Anywhere Culture Alignment</link:label>
    <link:label id="lab_calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember_label_en-US" xlink:label="lab_calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember" xlink: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 Platform Future And Work-From-Anywhere Culture Alignment [Member]</link:label>
    <link:label id="lab_calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember_documentation_en-US" xlink:label="lab_calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember" 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">All Platform Future And Work-From-Anywhere Culture Alignment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember" xlink:href="calx-20211002.xsd#calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember" xlink:to="lab_calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_d2b2830a-114e-4673-a22d-c2290165a0fd_verboseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_VariableRateDomain_0649982f-d5e1-4e23-a157-1f913dc34fc1_terseLabel_en-US" xlink:label="lab_us-gaap_VariableRateDomain" xlink: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 Rate [Domain]</link:label>
    <link:label id="lab_us-gaap_VariableRateDomain_label_en-US" xlink:label="lab_us-gaap_VariableRateDomain" xlink: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 Rate [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VariableRateDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableRateDomain" xlink:to="lab_us-gaap_VariableRateDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedProfessionalFeesCurrent_f6f03e85-b9cb-4bf1-9256-c8b42b90630e_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedProfessionalFeesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Professional and consulting fees</link:label>
    <link:label id="lab_us-gaap_AccruedProfessionalFeesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedProfessionalFeesCurrent" xlink: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 Professional Fees, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedProfessionalFeesCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedProfessionalFeesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedProfessionalFeesCurrent" xlink:to="lab_us-gaap_AccruedProfessionalFeesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableRateAxis_fde2d629-27a3-4fa9-b994-ba721af60e64_terseLabel_en-US" xlink:label="lab_us-gaap_VariableRateAxis" xlink: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 Rate [Axis]</link:label>
    <link:label id="lab_us-gaap_VariableRateAxis_label_en-US" xlink:label="lab_us-gaap_VariableRateAxis" xlink: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 Rate [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VariableRateAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableRateAxis" xlink:to="lab_us-gaap_VariableRateAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingencies_6632086d-9eac-4943-b86e-fe24790e9f2e_verboseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingencies" 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">Commitments and contingencies (See Note 7)</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingencies_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingencies" xlink: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</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingencies" xlink:to="lab_us-gaap_CommitmentsAndContingencies" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_d1034d39-397e-46ed-9f96-e1790092a6ec_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Period Two</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink: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, Tranche Two [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:to="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsAbstract_383095e0-21d0-4c89-8dcc-9d072060c49d_verboseLabel_en-US" xlink:label="lab_us-gaap_AssetsAbstract" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_97f38be3-c0cf-49d0-ad2e-0289b980bed9_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_8ff2b866-cf63-4b12-8f50-6d3b602e1f69_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink: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 vesting period</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink: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, Award Vesting Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_d1fd0df8-b878-446c-90fc-92eaa50b6cc7_terseLabel_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_label_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingPoliciesAbstract" xlink:to="lab_us-gaap_AccountingPoliciesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FurnitureAndFixturesMember_630b4d56-b169-4d41-a60f-a4a7e1ffa95b_verboseLabel_en-US" xlink:label="lab_us-gaap_FurnitureAndFixturesMember" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_StockIssuedDuringPeriodValueShareBasedCompensation_26d4e8c1-c369-47c8-8cc2-175015fd2b79_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink: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 equity incentive plans, net of forfeitures</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink: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, Value, Share-based Payment Arrangement, after Forfeiture</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressStateOrProvince_5f531ecc-e429-4c24-9da3-f0792f61e1e9_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/2020/dei-2020-01-31.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_OperatingLeasePayments_1c52ec7d-f6f9-477a-b7f4-49a40e0a6bf8_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 lease, payments</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_AccountsPayableCurrent_d08c49de-e00e-4977-bf40-5ac685565bd4_verboseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ScheduleOfCashAndCashEquivalentsTable_57edbfa5-6cef-4685-abba-aea67d13ad8a_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink: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 Cash and Cash Equivalents [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfCashAndCashEquivalentsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink: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 Cash and Cash Equivalents [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:to="lab_us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_1cedc3ad-f57e-4070-8e6d-b042f0369cb3_verboseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_SanJoseCaliforniaMember_f0ba08b4-ceb1-4a43-bd91-270771491eb5_terseLabel_en-US" xlink:label="lab_calx_SanJoseCaliforniaMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">San Jose, California</link:label>
    <link:label id="lab_calx_SanJoseCaliforniaMember_label_en-US" xlink:label="lab_calx_SanJoseCaliforniaMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">San Jose, California [Member]</link:label>
    <link:label id="lab_calx_SanJoseCaliforniaMember_documentation_en-US" xlink:label="lab_calx_SanJoseCaliforniaMember" 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">San Jose, California</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_SanJoseCaliforniaMember" xlink:href="calx-20211002.xsd#calx_SanJoseCaliforniaMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_SanJoseCaliforniaMember" xlink:to="lab_calx_SanJoseCaliforniaMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RepaymentsOfLinesOfCredit_22747fa9-a898-4413-a84a-2103e95b7531_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_RepaymentsOfLinesOfCredit" 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">Repayment of line of credit</link:label>
    <link:label id="lab_us-gaap_RepaymentsOfLinesOfCredit_label_en-US" xlink:label="lab_us-gaap_RepaymentsOfLinesOfCredit" xlink: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 Lines of Credit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLinesOfCredit" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RepaymentsOfLinesOfCredit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RepaymentsOfLinesOfCredit" xlink:to="lab_us-gaap_RepaymentsOfLinesOfCredit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_edd8d963-2ca3-4df1-b940-453e66840d7c_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">Right-of-use operating leases</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture_f61202ad-5461-4da1-a368-15cfef8e9419_terseLabel_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture" xlink: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 termination period following purchase date to receive shares subject to risk of forfeiture</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture_label_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture" xlink: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, Employee Termination Period Following Purchase Date To Receive Shares Subject To Risk Of Forfeiture</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture_documentation_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture" 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">Share-Based Compensation Arrangement By Share-Based Payment Award, Employee Termination Period Following Purchase Date To Receive Shares Subject To Risk Of Forfeiture</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture" xlink:to="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_34cfa77e-78f3-487d-b670-76cf41efe390_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">2022</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_ea53faaa-a37e-45c6-865e-a8a31c818c5b_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">2025</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_srt_MajorCustomersAxis_77aa8eae-741e-428b-b69a-b4bab1eb6e30_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">Customer [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="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee_3cbbc528-63e9-4873-a1a8-e6bb2c933e14_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ESPP, maximum number of shares per employee (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee" xlink: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, Maximum Number of Shares Per Employee</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee" xlink:type="arc" order="1"/>
    <link:label id="lab_calx_AssetWriteOff_5c9b39a8-e01d-4456-865b-ae58ae9a57af_terseLabel_en-US" xlink:label="lab_calx_AssetWriteOff" xlink: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, write-off</link:label>
    <link:label id="lab_calx_AssetWriteOff_label_en-US" xlink:label="lab_calx_AssetWriteOff" xlink: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 Write Off</link:label>
    <link:label id="lab_calx_AssetWriteOff_documentation_en-US" xlink:label="lab_calx_AssetWriteOff" 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">Asset Write Off</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AssetWriteOff" xlink:href="calx-20211002.xsd#calx_AssetWriteOff"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_AssetWriteOff" xlink:to="lab_calx_AssetWriteOff" xlink:type="arc" order="1"/>
    <link:label id="lab_calx_CashCashEquivalentsAndMarketableSecurities_c15ef81a-3ef0-4d9f-bfcf-13c321fc5228_totalLabel_en-US" xlink:label="lab_calx_CashCashEquivalentsAndMarketableSecurities" 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">Cash, Cash Equivalents, and Marketable Securities</link:label>
    <link:label id="lab_calx_CashCashEquivalentsAndMarketableSecurities_label_en-US" xlink:label="lab_calx_CashCashEquivalentsAndMarketableSecurities" xlink: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, And Marketable Securities</link:label>
    <link:label id="lab_calx_CashCashEquivalentsAndMarketableSecurities_documentation_en-US" xlink:label="lab_calx_CashCashEquivalentsAndMarketableSecurities" 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">Cash, Cash Equivalents, And Marketable Securities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_CashCashEquivalentsAndMarketableSecurities" xlink:href="calx-20211002.xsd#calx_CashCashEquivalentsAndMarketableSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_CashCashEquivalentsAndMarketableSecurities" xlink:to="lab_calx_CashCashEquivalentsAndMarketableSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockValue_0df1fa62-3fd0-4f32-8d77-2a6efd6b399f_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, $0.025 par value; 5,000 shares authorized; no shares issued and outstanding as of October 2, 2021 and December 31, 2020</link:label>
    <link:label id="lab_us-gaap_PreferredStockValue_label_en-US" xlink:label="lab_us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Value, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockValue" xlink:to="lab_us-gaap_PreferredStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingExpenses_37e4acdf-2746-4d7f-9983-42e3d2173114_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_2de7e747-e615-4792-bb51-a0202ff59621_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" 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">Net income</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_CommonStockParOrStatedValuePerShare_d5801d4d-9fb0-4dfc-84e3-d85aa6ecdc29_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" 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, 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_OtherLiabilitiesNoncurrent_0ec8af7e-3864-44e2-953e-fdb09bea5176_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent" 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">Other long-term liabilities</link:label>
    <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_label_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink: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 Liabilities, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherLiabilitiesNoncurrent" xlink:to="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxAssetsNet_39532fd6-e5d1-41aa-9ff8-d550dc44cc8b_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_CostOfRevenueAbstract_820b8558-1412-43d4-a098-4c5b74294899_verboseLabel_en-US" xlink:label="lab_us-gaap_CostOfRevenueAbstract" 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">Cost of revenue:</link:label>
    <link:label id="lab_us-gaap_CostOfRevenueAbstract_label_en-US" xlink:label="lab_us-gaap_CostOfRevenueAbstract" xlink: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 Revenue [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenueAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostOfRevenueAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfRevenueAbstract" xlink:to="lab_us-gaap_CostOfRevenueAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_611174b0-98c5-4d06-9574-538ce76b07b5_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_5fcd254a-4fe8-4bd5-93d4-66bc42385549_verboseLabel_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" 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">Effect of exchange rate changes on cash and cash equivalents</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</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_InventoryNet_3da2c554-9e0b-47b0-a882-64e9b25d2840_verboseLabel_en-US" xlink:label="lab_us-gaap_InventoryNet" 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">Inventory</link:label>
    <link:label id="lab_us-gaap_InventoryNet_7e526d06-144b-4e97-b114-fe4c616d4b6e_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">Total inventory</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_WeightedAverageNumberOfSharesOutstandingBasicAbstract_b8918069-9588-4062-bdf6-fe4414267f5a_verboseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" 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">Denominator:</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink: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 [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent_7d411203-c62d-4755-bb2b-be721ed20770_terseLabel_en-US" xlink:label="lab_calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent" xlink: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, asset, expected to be billed remainder of year, percent</link:label>
    <link:label id="lab_calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent_label_en-US" xlink:label="lab_calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent" xlink: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, Expected To Be Billed Remainder Of Year, Percent</link:label>
    <link:label id="lab_calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent_documentation_en-US" xlink:label="lab_calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent" 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">Contract With Customer, Asset, Expected To Be Billed Remainder Of Year, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent" xlink:href="calx-20211002.xsd#calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent" xlink:to="lab_calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementFrequencyDomain_6380512d-fb12-4736-8673-413f1161c8ad_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_LineOfCreditFacilityAxis_d88e6278-565c-4e16-80d5-2b5130b40a87_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lender Name [Axis]</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityAxis_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lender Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityAxis" xlink:to="lab_us-gaap_LineOfCreditFacilityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskPercentage1_e2246e16-fd9c-4466-810b-7a9e42a6ffda_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_InterestAndOtherIncomeExpenseNonoperating_ee6aeb64-2e88-427a-872c-f0b3017696e3_totalLabel_en-US" xlink:label="lab_calx_InterestAndOtherIncomeExpenseNonoperating" 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 interest and other expense, net</link:label>
    <link:label id="lab_calx_InterestAndOtherIncomeExpenseNonoperating_label_en-US" xlink:label="lab_calx_InterestAndOtherIncomeExpenseNonoperating" xlink: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 And Other Income (Expense), Nonoperating</link:label>
    <link:label id="lab_calx_InterestAndOtherIncomeExpenseNonoperating_documentation_en-US" xlink:label="lab_calx_InterestAndOtherIncomeExpenseNonoperating" 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">Interest And Other Income (Expense), Nonoperating</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_InterestAndOtherIncomeExpenseNonoperating" xlink:href="calx-20211002.xsd#calx_InterestAndOtherIncomeExpenseNonoperating"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_InterestAndOtherIncomeExpenseNonoperating" xlink:to="lab_calx_InterestAndOtherIncomeExpenseNonoperating" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostAmortization_b3c2d967-9da7-4ac9-9e9f-4db1fad3f7e3_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized contract cost, amortization</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostAmortization_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortization" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedContractCostAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostAmortization" xlink:to="lab_us-gaap_CapitalizedContractCostAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_SegmentGeographicalDomain_8ddb756f-9ae7-4f44-8558-d74d7792a470_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="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.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_calx_A2017NonqualifiedEmployeeStockPurchasePlanMember_9d164733-7fdb-475d-a1d5-5cc5994995b4_terseLabel_en-US" xlink:label="lab_calx_A2017NonqualifiedEmployeeStockPurchasePlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2017 Nonqualified Employee Stock Purchase Plan</link:label>
    <link:label id="lab_calx_A2017NonqualifiedEmployeeStockPurchasePlanMember_label_en-US" xlink:label="lab_calx_A2017NonqualifiedEmployeeStockPurchasePlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2017 Nonqualified Employee Stock Purchase Plan [Member]</link:label>
    <link:label id="lab_calx_A2017NonqualifiedEmployeeStockPurchasePlanMember_documentation_en-US" xlink:label="lab_calx_A2017NonqualifiedEmployeeStockPurchasePlanMember" 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">2017 Nonqualified Employee Stock Purchase Plan</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_A2017NonqualifiedEmployeeStockPurchasePlanMember" xlink:href="calx-20211002.xsd#calx_A2017NonqualifiedEmployeeStockPurchasePlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_A2017NonqualifiedEmployeeStockPurchasePlanMember" xlink:to="lab_calx_A2017NonqualifiedEmployeeStockPurchasePlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementLineItems_7c49a62d-229b-4ca7-b1c0-e571558f789a_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_EarningsPerShareBasicAndDilutedAbstract_582b1fda-0ea1-47ea-84fd-bf08dcd700ad_verboseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract" 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">Schedule of net income (loss) per share</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink: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 and Diluted [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:to="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComputerEquipmentMember_55f68a62-1289-458e-89ba-9b2d0bda5e0e_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</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_A2021PerformanceTargetsMember_28a65031-7a82-447f-9820-f59b0a394240_terseLabel_en-US" xlink:label="lab_calx_A2021PerformanceTargetsMember" xlink: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 Performance Targets</link:label>
    <link:label id="lab_calx_A2021PerformanceTargetsMember_label_en-US" xlink:label="lab_calx_A2021PerformanceTargetsMember" xlink: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 Performance Targets [Member]</link:label>
    <link:label id="lab_calx_A2021PerformanceTargetsMember_documentation_en-US" xlink:label="lab_calx_A2021PerformanceTargetsMember" 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 Performance Targets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_A2021PerformanceTargetsMember" xlink:href="calx-20211002.xsd#calx_A2021PerformanceTargetsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_A2021PerformanceTargetsMember" xlink:to="lab_calx_A2021PerformanceTargetsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementTable_57a47df0-564c-423b-9681-357c88b92074_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_srt_RangeAxis_cbb98092-289d-439a-b1bd-cd154421865d_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="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.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_TypeOfRestructuringDomain_39292a1a-38d0-4a54-8593-21f36b8571c7_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_CreditFacilityAxis_448ed441-ee77-410c-9757-aa79cce3b7ad_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:label id="lab_us-gaap_CreditFacilityAxis_label_en-US" xlink:label="lab_us-gaap_CreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityAxis" xlink:to="lab_us-gaap_CreditFacilityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesIssued_5ea0892e-d54b-49c9-a841-5002d54d5bde_verboseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesIssued" 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">Preferred stock, shares issued (in shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesIssued" xlink:to="lab_us-gaap_PreferredStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_6cad9d32-3a93-4918-a3e5-eb4970e4d940_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. government 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_dei_EntitySmallBusiness_3580951d-1e03-4886-856a-23564defdeba_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/2020/dei-2020-01-31.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_IncreaseDecreaseInStockholdersEquityRollForward_362ccd65-5979-4675-bb51-2cf8a43bc2f5_verboseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_DebtDisclosureTextBlock_d7c0eeb0-97ca-4fbb-ab0d-2ca35253ab20_verboseLabel_en-US" xlink:label="lab_us-gaap_DebtDisclosureTextBlock" 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">Credit Agreement</link:label>
    <link:label id="lab_us-gaap_DebtDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureTextBlock" xlink:to="lab_us-gaap_DebtDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_ba392860-f273-4011-904e-4f4edc2c6072_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ProceedsFromIssuanceOfCommonStock_06e96aff-f010-4087-8c44-2c687eff1d51_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfCommonStock" xlink: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 the sale of common stock in connection with public offering, net of expense</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfCommonStock_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfCommonStock" xlink: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 Issuance of Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_773401fd-ddfd-46c4-b70d-3772a255bb5d_verboseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" 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">Summary of property and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" xlink: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, by Type [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AmendmentFlag_005c068f-3530-4ca7-83c7-1a19316f2a1f_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/2020/dei-2020-01-31.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_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_bf38edd3-1e4f-4d55-812f-7ab463fb42f2_verboseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" 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">Schedule of net income (loss) 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_a86d4b8d-a872-4f62-92d6-c06f0a175f70_terseLabel_en-US" xlink:label="lab_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disclosure of share-based compensation arrangements by share-based payment award</link:label>
    <link:label id="lab_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_label_en-US" xlink:label="lab_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disclosure of Share-based Compensation Arrangements by Share-based Payment Award [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" xlink:to="lab_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_2af8d5c6-0364-438f-9fcd-38d69a5066df_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_d299dfaf-6dd1-4144-b3aa-fc9c8b5a0d9d_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink: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 shares authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink: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, Number of Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BalanceSheetRelatedDisclosuresAbstract_57f48da3-d007-488a-889b-920b9a8ed913_terseLabel_en-US" xlink:label="lab_us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance Sheet Related Disclosures [Abstract]</link:label>
    <link:label id="lab_us-gaap_BalanceSheetRelatedDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance Sheet Related Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:to="lab_us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_3aac89e8-0568-4854-8f3f-8302cfda3e79_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink: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 measured on recurring basis</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink: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 Measured on Recurring Basis [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:to="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_c1aa94c9-e6e6-4f68-90e8-919dbbe1a012_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink: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 available for future grant (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink: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, Number of Shares Available for Grant</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAccruedLiabilitiesCurrent_9dfd49f9-3307-45ab-822f-8351b108502c_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" 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">Other</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_12f69767-19d4-4784-83e8-c30080b5f0b5_terseLabel_en-US" xlink:label="lab_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding purchase commitments</link:label>
    <link:label id="lab_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_label_en-US" xlink:label="lab_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase Commitment, Remaining Minimum Amount Committed</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:to="lab_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCredit_1d0222bd-4c03-4ba7-bc5b-22d0628f8d71_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCredit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding borrowings</link:label>
    <link:label id="lab_us-gaap_LineOfCredit_label_en-US" xlink:label="lab_us-gaap_LineOfCredit" xlink: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 Line of Credit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCredit" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCredit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCredit" xlink:to="lab_us-gaap_LineOfCredit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_ee2e2646-0bcb-4fbc-92d2-f3558029ad5e_verboseLabel_en-US" xlink:label="lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" 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">Balance Sheet Details</link:label>
    <link:label id="lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_label_en-US" xlink:label="lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink: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 Balance Sheet Disclosures [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:to="lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_4963439c-69dd-4150-84f1-608ff01be37a_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_dei_EntityCentralIndexKey_1586a477-4e0f-4b6f-be3a-3e135a382328_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/2020/dei-2020-01-31.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_f9a30f1e-3122-429a-ac00-005f5e9673b8_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ComputerSoftwareIntangibleAssetMember_4eaf2ac2-8c65-4852-83a3-67cbda0ecf0e_terseLabel_en-US" xlink:label="lab_us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Licensed Software</link:label>
    <link:label id="lab_us-gaap_ComputerSoftwareIntangibleAssetMember_label_en-US" xlink:label="lab_us-gaap_ComputerSoftwareIntangibleAssetMember" xlink: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 Software, Intangible Asset [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:to="lab_us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:type="arc" order="1"/>
    <link:label id="lab_calx_AccruedFreight_039f505b-3d38-4488-8063-69175e0180c9_terseLabel_en-US" xlink:label="lab_calx_AccruedFreight" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Freight</link:label>
    <link:label id="lab_calx_AccruedFreight_label_en-US" xlink:label="lab_calx_AccruedFreight" xlink: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 Freight</link:label>
    <link:label id="lab_calx_AccruedFreight_documentation_en-US" xlink:label="lab_calx_AccruedFreight" 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">Accrued Freight</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AccruedFreight" xlink:href="calx-20211002.xsd#calx_AccruedFreight"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_AccruedFreight" xlink:to="lab_calx_AccruedFreight" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrentAbstract_3ea809a8-8e77-410b-807e-22db6f06c967_verboseLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrentAbstract" 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">Summary of accrued liabilities</link:label>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrentAbstract" xlink: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 [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrentAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedLiabilitiesCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract" xlink:to="lab_us-gaap_AccruedLiabilitiesCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_6ad22f61-cf54-4aec-b86b-8e820503452c_terseLabel_en-US" xlink:label="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instruments [Domain]</link:label>
    <link:label id="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_label_en-US" xlink:label="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instruments [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_13d2398f-3d61-46cf-bc21-9efb5cdc213b_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_CostOfRevenueProductsMember_68707589-455b-4428-aac1-88f5c39b7b29_terseLabel_en-US" xlink:label="lab_calx_CostOfRevenueProductsMember" xlink: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</link:label>
    <link:label id="lab_calx_CostOfRevenueProductsMember_label_en-US" xlink:label="lab_calx_CostOfRevenueProductsMember" xlink: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 Revenue, Products [Member]</link:label>
    <link:label id="lab_calx_CostOfRevenueProductsMember_documentation_en-US" xlink:label="lab_calx_CostOfRevenueProductsMember" 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">Cost Of Revenue, Products [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_CostOfRevenueProductsMember" xlink:href="calx-20211002.xsd#calx_CostOfRevenueProductsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_CostOfRevenueProductsMember" xlink:to="lab_calx_CostOfRevenueProductsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_StatementGeographicalAxis_cbf5fea2-ed9d-453b-8677-683f6d67e5f2_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="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.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_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_fc03946d-59ec-4c6e-94e7-9c93269ea128_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" 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">Discrete tax benefit</link:label>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_label_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="arc" order="1"/>
    <link:label id="lab_calx_A2019EquityIncentiveAwardPlanMember_8f72c7a0-733c-477c-9064-48b2d7df4265_terseLabel_en-US" xlink:label="lab_calx_A2019EquityIncentiveAwardPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2019 Equity Incentive Award Plan</link:label>
    <link:label id="lab_calx_A2019EquityIncentiveAwardPlanMember_label_en-US" xlink:label="lab_calx_A2019EquityIncentiveAwardPlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2019 Equity Incentive Award Plan [Member]</link:label>
    <link:label id="lab_calx_A2019EquityIncentiveAwardPlanMember_documentation_en-US" xlink:label="lab_calx_A2019EquityIncentiveAwardPlanMember" 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">2019 Equity Incentive Award Plan [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_A2019EquityIncentiveAwardPlanMember" xlink:href="calx-20211002.xsd#calx_A2019EquityIncentiveAwardPlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_A2019EquityIncentiveAwardPlanMember" xlink:to="lab_calx_A2019EquityIncentiveAwardPlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_0f8ec677-88e0-49f7-84c4-35a8ba0f2a5a_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink: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 stock-based compensation expense, stock options</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink: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, Option, Cost Not yet Recognized, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_c63c5740-ef2e-4959-8902-d04ef68f27dc_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_LineOfCreditFacilityAbstract_fa9b1e0d-95d5-422b-b735-85fe71b0d499_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility [Abstract]</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityAbstract_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityAbstract" xlink:to="lab_us-gaap_LineOfCreditFacilityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesPolicyTextBlock_b7d2de43-7ee9-4533-8359-436ebd02c8d1_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink: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</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink: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, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:to="lab_us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7bcddb45-1441-4a23-b214-2b83b7ca3a57_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_EmployeeStockMember_5bf47ffc-8f3a-45db-859c-315876a2ae97_verboseLabel_en-US" xlink:label="lab_us-gaap_EmployeeStockMember" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_IncomeStatementLocationAxis_fe57a912-6b58-4bda-9c54-53c33a173eeb_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_AllowanceForDoubtfulAccountsReceivableCurrent_77d1d57d-637f-4206-9d48-81d6f576fe10_negatedLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_dei_EntityCommonStockSharesOutstanding_c00da858-44a2-4d48-a9b1-1c55ca7749bc_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/2020/dei-2020-01-31.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_IncomeStatementLocationDomain_1aa81c7b-6364-4a3c-969d-703052033e45_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_CashMember_1d626706-4ea6-400d-a451-8c2d01702cee_terseLabel_en-US" xlink:label="lab_us-gaap_CashMember" xlink: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</link:label>
    <link:label id="lab_us-gaap_CashMember_label_en-US" xlink:label="lab_us-gaap_CashMember" xlink: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 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashMember" xlink:to="lab_us-gaap_CashMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_3a599dd1-4af3-4ff0-a5a9-421cd4826dcf_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">2023</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_NetCashProvidedByUsedInFinancingActivitiesAbstract_b807862e-9956-466a-815c-744669866821_verboseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_StockholdersEquityNoteAbstract_823d8760-bc4b-420c-86a6-283959367213_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteAbstract" xlink: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' Equity Note [Abstract]</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityNoteAbstract_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteAbstract" xlink: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 [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract" xlink:to="lab_us-gaap_StockholdersEquityNoteAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_741267f7-efe6-4db5-9cb8-085e27922603_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">2024</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_OtherAssetsNoncurrent_8b76744d-593e-48c8-a44c-fea6bd42ba43_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" 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">Other assets</link:label>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_950aa1ae-c21b-467b-baf8-50c45f6715d1_totalLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" 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 assets, noncurrent</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_DeferredRevenueArrangementTypeAxis_09d38449-10fc-41ff-9397-511b45432de9_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredRevenueArrangementTypeAxis" xlink: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 Arrangement Type [Axis]</link:label>
    <link:label id="lab_us-gaap_DeferredRevenueArrangementTypeAxis_label_en-US" xlink:label="lab_us-gaap_DeferredRevenueArrangementTypeAxis" xlink: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 Arrangement Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenueArrangementTypeAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenueArrangementTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenueArrangementTypeAxis" xlink:to="lab_us-gaap_DeferredRevenueArrangementTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PlanNameAxis_fc7c9a47-84a4-4925-892f-1c681a9521eb_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_LumenTechnologiesIncMember_41321833-edf1-4651-b722-19dea48996ee_terseLabel_en-US" xlink:label="lab_calx_LumenTechnologiesIncMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lumen Technologies, Inc.</link:label>
    <link:label id="lab_calx_LumenTechnologiesIncMember_label_en-US" xlink:label="lab_calx_LumenTechnologiesIncMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lumen Technologies, Inc. [Member]</link:label>
    <link:label id="lab_calx_LumenTechnologiesIncMember_documentation_en-US" xlink:label="lab_calx_LumenTechnologiesIncMember" 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">Lumen Technologies, Inc.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_LumenTechnologiesIncMember" xlink:href="calx-20211002.xsd#calx_LumenTechnologiesIncMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_LumenTechnologiesIncMember" xlink:to="lab_calx_LumenTechnologiesIncMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherLiabilities_8904f832-ceb8-401b-856b-ccf2a1084fc0_terseLabel_en-US" xlink:label="lab_us-gaap_OtherLiabilities" xlink: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_OtherLiabilities_label_en-US" xlink:label="lab_us-gaap_OtherLiabilities" xlink: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 Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherLiabilities" xlink:to="lab_us-gaap_OtherLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues_9bf63318-d060-4f78-a9a8-ca8f33caf6a2_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink: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 in connection with public offering</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink: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, New Issues</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsFairValueDisclosure_dff1b31e-bd07-4ba8-b4b3-14ba1a725d45_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">Money market funds</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ConcentrationRiskTable_724d2bc6-8f45-4aa1-b8f3-4d791ee14b4d_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_Assets_babbed29-74d8-4a3c-a7cd-6aa05d43e6e9_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_RevenueFromContractWithCustomerMember_c5899e13-21a5-4604-b5cc-84c0bed60b27_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</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_dei_Security12bTitle_97f2f16b-0e11-4806-8c84-b70e1cb7ccb1_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/2020/dei-2020-01-31.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_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_65d1d167-3192-4f9a-84b1-56a6af039cac_verboseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" 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">Summary 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_FiniteLivedIntangibleAssetsNet_06f2ee83-332c-4d59-a95e-b2759eb7d812_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible asset</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_efefa065-d62b-41cd-88bb-15400d9c38fe_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink: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 (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink: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, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VestingDomain_689a9418-af18-4a85-a866-004e3fdeebca_terseLabel_en-US" xlink:label="lab_us-gaap_VestingDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Domain]</link:label>
    <link:label id="lab_us-gaap_VestingDomain_label_en-US" xlink:label="lab_us-gaap_VestingDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VestingDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VestingDomain" xlink:to="lab_us-gaap_VestingDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock_7e66e218-3902-4b0a-bf46-ed4dde639f2f_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock" xlink: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 other long-term assets</link:label>
    <link:label id="lab_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock" xlink: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 Other Assets, Noncurrent [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock" xlink:to="lab_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_5220e1a2-1407-410d-ad10-3406fef0d887_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink: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 income taxes</link:label>
    <link:label id="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink: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 Components of Income Tax Expense (Benefit) [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ProductOrServiceAxis_f93e9608-42f5-4e58-8fef-09609df65110_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="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.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_us-gaap_Liabilities_b25bfab0-c795-4cdc-9bc5-8503a62e8e29_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_da04937b-5529-4ba9-a9d8-384d3ca07718_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">Recognition period</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_31b77ed4-a7b8-4c10-9846-34ccd2cbb846_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 imputed 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ContractWithCustomerLiabilityRevenueRecognized_fafcc44a-b270-4625-ab35-a0418263ae33_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">Contract with customer, liability, revenue recognized</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod_6f779dfc-b24a-40db-b74b-641d082cd09a_terseLabel_en-US" xlink:label="lab_calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Offering period</link:label>
    <link:label id="lab_calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod_label_en-US" xlink:label="lab_calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod" xlink: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, Purchase Price of Common Stock, Offering Period</link:label>
    <link:label id="lab_calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod_documentation_en-US" xlink:label="lab_calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod" 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">Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Offering Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod" xlink:href="calx-20211002.xsd#calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod" xlink:to="lab_calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_a590fcc6-6daf-41e4-9ae1-e99e70672453_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_FairValueInputsLevel1Member_96820e06-4c12-4b8d-95cb-d2a56c40cdc8_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_OperatingLeaseExpense_21a3c992-f2ac-48db-b384-a16af0a0bd95_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">Rent 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_IncreaseDecreaseInInventories_0679e526-2b73-49ae-a91c-1df54dfb2dff_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">Inventory</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_d028bff6-a1be-469d-b261-53bb49f3966e_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_IncreaseDecreaseInAccountsPayable_9b633272-756c-4a58-920c-74aec8c1f81d_verboseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_InventoryRawMaterialsNetOfReserves_0195a8a8-a7f7-42bd-9747-aa82dc3ac7a1_verboseLabel_en-US" xlink:label="lab_us-gaap_InventoryRawMaterialsNetOfReserves" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent_d8ea4390-ca64-4e5b-a3f8-cebbad600999_terseLabel_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Bookings, target achievement performance threshold, percent</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent_label_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent" xlink: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, Bookings, Target Achievement Performance Threshold, Percent</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent_documentation_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent" 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">Share-Based Compensation Arrangement By Share-Based Payment Award, Bookings, Target Achievement Performance Threshold, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent" xlink:to="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_9ba4d7e4-028c-4abd-b307-c472123476aa_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" 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">Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount</link:label>
    <link:label id="lab_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_label_en-US" xlink:label="lab_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:to="lab_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_d1beb69b-03bd-4e4b-92e4-3824b678909e_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_DisaggregationOfRevenueLineItems_b3fe1443-4adc-4445-a58e-49be6575739f_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_IncreaseDecreaseInAccruedLiabilities_a4772ccc-d1f6-4a60-8017-4900a2866da7_verboseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_MiddleEastAndAfricaMember_fbbab0d6-8bb4-4f02-bbf1-6b2e97e8eeeb_terseLabel_en-US" xlink:label="lab_calx_MiddleEastAndAfricaMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Middle East &amp; Africa</link:label>
    <link:label id="lab_calx_MiddleEastAndAfricaMember_label_en-US" xlink:label="lab_calx_MiddleEastAndAfricaMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Middle East And Africa [Member]</link:label>
    <link:label id="lab_calx_MiddleEastAndAfricaMember_documentation_en-US" xlink:label="lab_calx_MiddleEastAndAfricaMember" 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">Middle East And Africa</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_MiddleEastAndAfricaMember" xlink:href="calx-20211002.xsd#calx_MiddleEastAndAfricaMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_MiddleEastAndAfricaMember" xlink:to="lab_calx_MiddleEastAndAfricaMember" xlink:type="arc" order="1"/>
    <link:label id="lab_calx_AccruedCustomerRebates_76482df6-31d5-41f8-82d4-fe612ef52316_terseLabel_en-US" xlink:label="lab_calx_AccruedCustomerRebates" xlink: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 advances or rebates</link:label>
    <link:label id="lab_calx_AccruedCustomerRebates_label_en-US" xlink:label="lab_calx_AccruedCustomerRebates" xlink: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 Customer Rebates</link:label>
    <link:label id="lab_calx_AccruedCustomerRebates_documentation_en-US" xlink:label="lab_calx_AccruedCustomerRebates" 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">Accrued customer rebates.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AccruedCustomerRebates" xlink:href="calx-20211002.xsd#calx_AccruedCustomerRebates"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_AccruedCustomerRebates" xlink:to="lab_calx_AccruedCustomerRebates" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_f72c42fc-88d6-4bb4-9784-2e3c403f7daa_verboseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" 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">Adjustments to reconcile net income to net cash provided by operating activities:</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink: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 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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAssetsMiscellaneousNoncurrent_4f3900e1-fb0a-4b5b-b342-d6c689333a43_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsMiscellaneousNoncurrent" xlink: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 long-term assets</link:label>
    <link:label id="lab_us-gaap_OtherAssetsMiscellaneousNoncurrent_label_en-US" xlink:label="lab_us-gaap_OtherAssetsMiscellaneousNoncurrent" xlink: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, Miscellaneous, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsMiscellaneousNoncurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsMiscellaneousNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsMiscellaneousNoncurrent" xlink:to="lab_us-gaap_OtherAssetsMiscellaneousNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableGrossCurrent_06a9a588-1f4c-49ba-8165-d11e4dcab9cb_verboseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableGrossCurrent" 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">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableGrossCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableGrossCurrent" xlink: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, before Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableGrossCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableGrossCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableGrossCurrent" xlink:to="lab_us-gaap_AccountsReceivableGrossCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_008d7ed2-1475-4e3f-a1b9-843963b89634_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_RevenueFromContractWithCustomerAbstract_5d1692df-200b-4e7b-bed8-e4842b0aea40_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_CashAndCashEquivalentsLineItems_a0a6f039-6723-4599-a740-3349df0c02b2_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsLineItems" xlink: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 [Line Items]</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsLineItems_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsLineItems" xlink: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 [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems" xlink:to="lab_us-gaap_CashAndCashEquivalentsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_e293b2d9-4276-4b15-8aae-aeec189cb8bc_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" 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, shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_272858bb-cf8a-4757-b962-c966b8772885_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, shares</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_bf526e53-fd0c-4954-a76d-7ca33a9b2622_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, 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_IncomeTaxDisclosureAbstract_d3b96a7b-e91b-488f-b684-2a75b35535d2_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink: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 Tax Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink: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 Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:to="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevolvingCreditFacilityMember_eb39878b-6a2f-4663-bd84-544f24f02834_terseLabel_en-US" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving Credit Facility</link:label>
    <link:label id="lab_us-gaap_RevolvingCreditFacilityMember_label_en-US" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevolvingCreditFacilityMember" xlink:to="lab_us-gaap_RevolvingCreditFacilityMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_3c593433-773b-40f5-9f3e-603a70d0c5c5_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ResearchAndDevelopmentExpense_1fe94496-d9b2-4802-b006-9291aa4e5dd1_verboseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_CommonStockSharesAuthorized_b22d6f2a-78a2-4c2c-8cdb-b20611b93401_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" 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, 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ConcentrationRiskByTypeAxis_c79bd2a4-c042-4691-ac58-579ca45db83c_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_657afd8c-c053-426f-b04c-60ea94e28b6a_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">Effect of dilutive common stock equivalents (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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_ed4c65b9-f9a0-4735-8c5d-625e851efcb1_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink: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 external customers by geographic areas</link:label>
    <link:label id="lab_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink: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 External Customers by Geographic Areas [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:to="lab_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentGross_52d8d0de-afdf-48f7-a6d3-59afa4d53c58_verboseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentGross" 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">Property and equipment, gross</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ProceedsFromStockOptionsExercised_2477b4f8-93e3-4258-890e-b6079933328f_verboseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromStockOptionsExercised" 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">Proceeds from common stock issuances related to employee benefit plans</link:label>
    <link:label id="lab_us-gaap_ProceedsFromStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink: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 Stock Options Exercised</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromStockOptionsExercised" xlink:to="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringPlanDomain_b0206d2d-947f-4532-91e9-be548eb2953d_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_USGovernmentDebtSecuritiesMember_6084fd36-f5d2-4caf-9320-410c5567374f_terseLabel_en-US" xlink:label="lab_us-gaap_USGovernmentDebtSecuritiesMember" xlink: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. government securities</link:label>
    <link:label id="lab_us-gaap_USGovernmentDebtSecuritiesMember_label_en-US" xlink:label="lab_us-gaap_USGovernmentDebtSecuritiesMember" xlink: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 Debt Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentDebtSecuritiesMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_USGovernmentDebtSecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_USGovernmentDebtSecuritiesMember" xlink:to="lab_us-gaap_USGovernmentDebtSecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRecognitionPolicyTextBlock_5c2fa751-796a-47e2-b1e6-39203e785659_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRecognitionPolicyTextBlock" xlink: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 Recognition</link:label>
    <link:label id="lab_us-gaap_RevenueRecognitionPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueRecognitionPolicyTextBlock" xlink: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 [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRecognitionPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueRecognitionPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRecognitionPolicyTextBlock" xlink:to="lab_us-gaap_RevenueRecognitionPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_7870996d-233b-4416-acd3-637837cd8e4e_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_AccumulatedOtherComprehensiveIncomeMember_65a1c803-b1ea-4b8c-9971-e9a176db683e_verboseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" 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">Accumulated Other Comprehensive 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1_e3763e9a-18d2-4026-8813-a8743aa01f91_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1" xlink: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 performance period</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1" xlink: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, Award Requisite Service Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_89c031cd-091a-43d8-8451-41806b535fc1_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">Operating leases</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_12da12e3-c6eb-4a5e-9472-30ba7fb4a1e0_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">Operating leases</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_fcfb30aa-afa7-4a52-9353-88b49653c893_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 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_AssetsCurrentAbstract_7f4f881f-70d2-4245-80d8-d320f42ecbb6_verboseLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_SoftwareMember_c533c44b-e969-45d1-96c5-49cd6938e3b6_terseLabel_en-US" xlink:label="lab_calx_SoftwareMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software</link:label>
    <link:label id="lab_calx_SoftwareMember_label_en-US" xlink:label="lab_calx_SoftwareMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software [Member]</link:label>
    <link:label id="lab_calx_SoftwareMember_documentation_en-US" xlink:label="lab_calx_SoftwareMember" 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">Software</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_SoftwareMember" xlink:href="calx-20211002.xsd#calx_SoftwareMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_SoftwareMember" xlink:to="lab_calx_SoftwareMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_aaf79f17-9119-414c-bdb2-577a9d1358cc_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_PreferredStockParOrStatedValuePerShare_93b077cf-06d2-4a4c-a477-144f69666600_verboseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" 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">Preferred stock, par value (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_calx_AmericasExUSMember_7dbc47f1-119a-4412-a158-21fb0dc02c27_terseLabel_en-US" xlink:label="lab_calx_AmericasExUSMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Americas ex U.S.</link:label>
    <link:label id="lab_calx_AmericasExUSMember_label_en-US" xlink:label="lab_calx_AmericasExUSMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Americas ex U.S. [Member]</link:label>
    <link:label id="lab_calx_AmericasExUSMember_documentation_en-US" xlink:label="lab_calx_AmericasExUSMember" 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">Americas ex U.S.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AmericasExUSMember" xlink:href="calx-20211002.xsd#calx_AmericasExUSMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_AmericasExUSMember" xlink:to="lab_calx_AmericasExUSMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringReserveRollForward_16cdaea7-b7fa-4111-a7d2-e7be3c3eac74_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_srt_AsiaPacificMember_e3defa98-0546-4e58-b951-f29628f36b8e_terseLabel_en-US" xlink:label="lab_srt_AsiaPacificMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asia Pacific</link:label>
    <link:label id="lab_srt_AsiaPacificMember_label_en-US" xlink:label="lab_srt_AsiaPacificMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asia Pacific [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_AsiaPacificMember" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_AsiaPacificMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_AsiaPacificMember" xlink:to="lab_srt_AsiaPacificMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_863b6e28-0860-49c9-9218-b02d9aed2258_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">Purchases of property 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_dei_CityAreaCode_916511b5-970d-4ae0-b60d-f4eabf193fd4_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/2020/dei-2020-01-31.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_dei_DocumentPeriodEndDate_b4894675-c7c9-4031-9b49-58293bb82160_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/2020/dei-2020-01-31.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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_f21f1908-b7d0-4b0d-ab78-ed30bf6616eb_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_SystemsProductMember_5fc6f17c-67c5-47dc-9636-edf03a01e624_terseLabel_en-US" xlink:label="lab_calx_SystemsProductMember" xlink: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_calx_SystemsProductMember_label_en-US" xlink:label="lab_calx_SystemsProductMember" xlink: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 [Member]</link:label>
    <link:label id="lab_calx_SystemsProductMember_documentation_en-US" xlink:label="lab_calx_SystemsProductMember" 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 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_SystemsProductMember" xlink:href="calx-20211002.xsd#calx_SystemsProductMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_SystemsProductMember" xlink:to="lab_calx_SystemsProductMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationPercentage_80974ae2-9119-4c8b-80d0-d8f5f0496f1f_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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_b7ee10b2-4457-4274-abf1-927d16bf5610_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink: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, Liability, Current, Statement of Financial Position [Extensible List]</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink: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, Statement of Financial Position [Extensible List]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProfitLoss_7b6e4130-3993-4963-a6b2-23b0f71e5750_totalLabel_en-US" xlink:label="lab_us-gaap_ProfitLoss" 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_ProfitLoss_d384ccf2-f3da-4b66-8b4c-a03eeec6b113_terseLabel_en-US" xlink:label="lab_us-gaap_ProfitLoss" xlink: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_ProfitLoss_cd5ba47b-0aba-4b2c-89e1-530a95172f09_verboseLabel_en-US" xlink:label="lab_us-gaap_ProfitLoss" 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">Net income</link:label>
    <link:label id="lab_us-gaap_ProfitLoss_label_en-US" xlink:label="lab_us-gaap_ProfitLoss" xlink: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), Including Portion Attributable to Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProfitLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProfitLoss" xlink:to="lab_us-gaap_ProfitLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_de776c3d-b9eb-46a3-bb3c-236756a35beb_terseLabel_en-US" xlink:label="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink: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 Product Warranty Accrual [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_label_en-US" xlink:label="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink: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 Product Warranty Accrual [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MovementInStandardProductWarrantyAccrualRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:to="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTable_e18caa29-5bb1-408a-96b5-11a42d43cbc2_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent_4cda6c97-f5ff-45fc-9b71-b0f7d0ec16ba_terseLabel_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent" xlink: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 award weighting percent</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent_label_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent" xlink: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, Shares Award Weighting Percent For Target Achievement Performance Threshold, Percent</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent_documentation_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent" 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">Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Weighting Percent For Target Achievement Performance Threshold, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent" xlink:to="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_176b96c2-0879-4023-a7e3-752d4d442d62_verboseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" 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">Summary of inventory</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_ShareBasedCompensation_05472717-2d87-4fc0-99c5-5306c8a31200_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" 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">Stock-based compensation</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_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/2020/dei-2020-01-31.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_ScheduleOfRestructuringAndRelatedCostsTextBlock_cf18d3a0-ca32-4fb4-9f59-49ea5027a202_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 and related costs</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_RichardsonTexasAndSanJoseCaliforniaMember_423531b0-19f3-45ab-96fc-7893bc93da65_terseLabel_en-US" xlink:label="lab_calx_RichardsonTexasAndSanJoseCaliforniaMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Richardson, Texas and San Jose, California</link:label>
    <link:label id="lab_calx_RichardsonTexasAndSanJoseCaliforniaMember_label_en-US" xlink:label="lab_calx_RichardsonTexasAndSanJoseCaliforniaMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Richardson, Texas And San Jose, California [Member]</link:label>
    <link:label id="lab_calx_RichardsonTexasAndSanJoseCaliforniaMember_documentation_en-US" xlink:label="lab_calx_RichardsonTexasAndSanJoseCaliforniaMember" 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">Richardson, Texas And San Jose, California</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_RichardsonTexasAndSanJoseCaliforniaMember" xlink:href="calx-20211002.xsd#calx_RichardsonTexasAndSanJoseCaliforniaMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_RichardsonTexasAndSanJoseCaliforniaMember" xlink:to="lab_calx_RichardsonTexasAndSanJoseCaliforniaMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_98d98f62-59de-441b-ab16-adcb0e46b850_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink: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 [Domain]</link:label>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_label_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink: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 [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet_382fcf33-4fe2-48ee-8d12-bb5a8abb56ad_terseLabel_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet" xlink: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 shares granted if no-GAAP income below 80% and bookings below 90% of target (in shares)</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet_label_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet" xlink: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, Number Of Shares Granted If Target Achievement Performance Threshold Not Met</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet_documentation_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet" 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">Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Granted If Target Achievement Performance Threshold Not Met</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet" xlink:to="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet" xlink:type="arc" order="1"/>
    <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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_IncreaseDecreaseInDeferredRevenue_43a26880-8f46-43cd-945d-e8b65d340a00_verboseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredRevenue" 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">Deferred revenue</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ConcentrationRiskByBenchmarkAxis_48fc82af-6f3c-4e3a-9562-4a6f9159ffa1_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_CostOfGoodsAndServicesSold_cd6a6eef-0585-4ca5-b5e4-8752252fabb3_verboseLabel_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" 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">Cost of revenue</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_AvailableForSaleSecuritiesDebtSecurities_e08a7e7e-e52c-4864-9943-99da1e414b68_verboseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" 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">Marketable securities</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_99f1009f-e46a-41c3-851b-704e7bf80775_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ProductWarrantyAccrualPayments_82991557-54ca-4e40-93c9-49a9568fd8cc_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">Utilization of reserve</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_InventoryFinishedGoodsNetOfReserves_042f30a8-6729-4c05-af2c-49b84e977878_verboseLabel_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_srt_MinimumMember_8264970b-e9b2-455d-a451-fc740f59eb88_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="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.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_OperatingLeaseLiabilityCurrent_38149ae6-9434-4f3d-bd42-fabd93a35c83_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 leases</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_8179534b-99ab-4b0f-909a-05a62f03ba4b_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" 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">Accrued liabilities - current portion of operating leases</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ProductWarrantyAccrual_d17b85c2-fd6c-49d7-b9e7-8261c6ea1390_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_9a747bc2-fe5d-42bd-b9cd-234c0de0850e_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_c18ece72-cff7-49e0-be67-512be08234a5_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 stock-based compensation 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_srt_EuropeMember_427d51c9-a4f3-4463-a632-2e58f9180b4d_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="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.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_dei_EntityInteractiveDataCurrent_f9f41781-09a9-4a52-937d-5dd94c9fc04a_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/2020/dei-2020-01-31.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_country_US_3a829d14-b943-48c4-8dfa-5be933e68139_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/2020/country-2020-01-31.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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c8102a48-5968-47b0-887f-8d410ab2764f_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink: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 exercise price per share, stock options (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink: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 Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenuesAbstract_786006ef-0df9-4838-83ff-4c8e6c2fe090_terseLabel_en-US" xlink:label="lab_us-gaap_RevenuesAbstract" xlink: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_RevenuesAbstract_label_en-US" xlink:label="lab_us-gaap_RevenuesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenues [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenuesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenuesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenuesAbstract" xlink:to="lab_us-gaap_RevenuesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_f030a142-e58a-4e1b-95d5-2046dcd8a635_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 Measurements</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_f809b72e-2598-43a4-a0ce-b6b77a929caf_verboseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" 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">Operating activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink: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 [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_a93158d9-2b33-41a1-aa76-08ba6b1b05f4_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">Maturities 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_srt_NameOfMajorCustomerDomain_7d16ae23-cac6-43a0-a7ea-0a9e3820f997_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">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="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.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:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_75c354ed-f1d9-40cf-9a79-ecdd69f224b4_verboseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_dei_EntityRegistrantName_8d056ae3-ff57-44f1-99c3-111f2b4473fe_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/2020/dei-2020-01-31.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_us-gaap_CapitalizedContractCostImpairmentLoss_64bb75f5-13b0-4698-bf8c-89afdc8f669d_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized contract cost, impairment</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostImpairmentLoss_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Impairment Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostImpairmentLoss" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedContractCostImpairmentLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostImpairmentLoss" xlink:to="lab_us-gaap_CapitalizedContractCostImpairmentLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_59098803-1820-44f0-9934-2cc30bd65a23_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ConcentrationRiskLineItems_28069edf-5c3d-4f3d-aef6-4cbcdcec81bb_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_OperatingLeaseWeightedAverageDiscountRatePercent_466cb079-5b56-4aa4-ab59-5f3a3749e11d_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">Weighted average operating discount rate used to determine the operating lease liability (percent)</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent_aead3330-f2f0-47ed-82e6-82cc0b958b3c_terseLabel_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent" xlink: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, target achievement performance threshold, percent</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent_label_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent" xlink: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, Net Income Per Share, Target Achievement Performance Threshold, Percent</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent_documentation_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent" 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">Share-Based Compensation Arrangement By Share-Based Payment Award, Net Income Per Share, Target Achievement Performance Threshold, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent" xlink:to="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_calx_OneCustomerMember_0747560a-2ea7-4743-9855-f09a672fb126_terseLabel_en-US" xlink:label="lab_calx_OneCustomerMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">One Customer</link:label>
    <link:label id="lab_calx_OneCustomerMember_label_en-US" xlink:label="lab_calx_OneCustomerMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">One Customer [Member]</link:label>
    <link:label id="lab_calx_OneCustomerMember_documentation_en-US" xlink:label="lab_calx_OneCustomerMember" 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">One Customer</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_OneCustomerMember" xlink:href="calx-20211002.xsd#calx_OneCustomerMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_OneCustomerMember" xlink:to="lab_calx_OneCustomerMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetImpairmentCharges_235cc8bd-d89e-43fa-8a3a-1bf8f3a39ec0_terseLabel_en-US" xlink:label="lab_us-gaap_AssetImpairmentCharges" xlink: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 retirements and write-downs</link:label>
    <link:label id="lab_us-gaap_AssetImpairmentCharges_label_en-US" xlink:label="lab_us-gaap_AssetImpairmentCharges" xlink: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 Impairment Charges</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetImpairmentCharges" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetImpairmentCharges"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetImpairmentCharges" xlink:to="lab_us-gaap_AssetImpairmentCharges" xlink:type="arc" order="1"/>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent_43a3717b-a040-49a6-bf27-67cc350a1b2a_terseLabel_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent" xlink: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 contribution percent (up to 25%)</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent_label_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent" xlink: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, Maximum Contribution Percent</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent_documentation_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent" 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">Share-Based Compensation Arrangement By Share-Based Payment Award, Maximum Contribution Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent" xlink:to="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_5df57780-549c-4344-a5fd-2b502d00f380_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">Provision for warranty and retrofit charged to cost of revenue</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_DebtInstrumentInterestRateEffectivePercentage_e1eaae41-94fe-4328-ac7f-b3a1e7230306_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink: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</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentInterestRateEffectivePercentage_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Interest Rate, Effective Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:to="lab_us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_cdcb5a75-3e0a-43f3-8500-ed9611210348_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_dei_EntityIncorporationStateCountryCode_57073858-348f-4f67-bca6-a1a6be7aa339_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/2020/dei-2020-01-31.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_AccountsReceivableNetCurrent_26788fd3-45a0-4afe-a56b-68aaf4bec084_verboseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" 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">Accounts receivable, net</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_c2a75407-ac99-4197-a2c6-faae732c74f9_totalLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" 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">Accounts receivable, net</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_LesseeOperatingLeaseLiabilityPaymentsDue_6bf4e8dc-6018-472d-a4b6-4c2819e57d81_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink: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 future minimum lease payments</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_2c61919c-708a-4bac-9b6d-5d3242da2c8e_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 future 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_RestructuringReserve_0a283c92-5715-4cd8-971d-e343f8d19667_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">Balance as of December 31, 2020</link:label>
    <link:label id="lab_us-gaap_RestructuringReserve_358c6d0f-8c05-4b0c-b5da-f219952f5242_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">Balance as of October 2, 2021</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ScheduleOfCashAndCashEquivalentsTableTextBlock_54c7305e-8f2c-407f-aaf0-d40cfdb8df8c_verboseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" 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">Summary of cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" xlink: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 Cash and Cash Equivalents [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressPostalZipCode_9e58e73c-a363-4c51-be0b-560b02738525_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/2020/dei-2020-01-31.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_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_28368847-9386-4dce-92d0-0fd043fc3e40_verboseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" 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">ESPP, discounted purchase price percentage</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink: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, Purchase Price of Common Stock, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringCostAndReserveAxis_0e0b944a-2e2e-42c0-a149-98d9a955f711_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_PaymentsForRestructuring_e65bcd57-9fba-4489-af4d-24a199f9fbb8_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_Goodwill_aacd0d19-0057-4ffa-af5c-52d6e1bb0d12_verboseLabel_en-US" xlink:label="lab_us-gaap_Goodwill" 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">Goodwill</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_f3fa7978-2748-4018-a50f-604d0c918964_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" 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">Other comprehensive income (loss), net of tax - foreign currency translation adjustment, net</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_93a14ff9-9727-4e2b-9731-73dfa00ea0f3_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink: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_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink: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, Portion Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentTransitionReport_28c4477f-a2f8-48d4-acd3-376a4ae4537e_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/2020/dei-2020-01-31.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_calx_ProductAndServicesMember_2c109e47-d30c-4163-b2d7-2dfccbe907b4_terseLabel_en-US" xlink:label="lab_calx_ProductAndServicesMember" xlink: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</link:label>
    <link:label id="lab_calx_ProductAndServicesMember_label_en-US" xlink:label="lab_calx_ProductAndServicesMember" xlink: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 Services [Member]</link:label>
    <link:label id="lab_calx_ProductAndServicesMember_documentation_en-US" xlink:label="lab_calx_ProductAndServicesMember" 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">Product and Services</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ProductAndServicesMember" xlink:href="calx-20211002.xsd#calx_ProductAndServicesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_ProductAndServicesMember" xlink:to="lab_calx_ProductAndServicesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_TitleOfIndividualAxis_0ab5c914-f8ef-401b-a0eb-7c81d1fb9675_terseLabel_en-US" xlink:label="lab_srt_TitleOfIndividualAxis" xlink: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 Individual [Axis]</link:label>
    <link:label id="lab_srt_TitleOfIndividualAxis_label_en-US" xlink:label="lab_srt_TitleOfIndividualAxis" xlink: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 Individual [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_TitleOfIndividualAxis" xlink:to="lab_srt_TitleOfIndividualAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLossAbstract_e6824ecf-54d0-4a7f-b79f-033aac6ba773_verboseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLossAbstract" 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">Numerator:</link:label>
    <link:label id="lab_us-gaap_NetIncomeLossAbstract_label_en-US" xlink:label="lab_us-gaap_NetIncomeLossAbstract" xlink: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 [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLossAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLossAbstract" xlink:to="lab_us-gaap_NetIncomeLossAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer_e4668565-100f-4142-9e45-efc8d3e312e3_verboseLabel_en-US" xlink:label="lab_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer" 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">Component inventory held by suppliers</link:label>
    <link:label id="lab_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer_8c9d1987-7f97-4383-bdd8-9d5c48dde927_terseLabel_en-US" xlink:label="lab_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer" xlink: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 customer rebates/prepayments</link:label>
    <link:label id="lab_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer_label_en-US" xlink:label="lab_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer" xlink: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 Excess and Obsolete Inventory At Contract Manufacturer</link:label>
    <link:label id="lab_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer_documentation_en-US" xlink:label="lab_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer" 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">Accrued excess and obsolete inventory at contract manufacturer.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer" xlink:href="calx-20211002.xsd#calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer" xlink:to="lab_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostGross_90a18293-bf78-4d31-a527-126b2148b7bd_verboseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostGross" 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">Capitalized contract cost, gross</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostGross_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostGross" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedContractCostGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostGross" xlink:to="lab_us-gaap_CapitalizedContractCostGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_b2708a26-0b92-41f5-a4e2-b2786571ad1f_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" 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">Treasury stock retirement</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_NonoperatingIncomeExpenseAbstract_ecca72fc-4a94-43ea-80df-50e2aafe2eef_verboseLabel_en-US" xlink:label="lab_us-gaap_NonoperatingIncomeExpenseAbstract" 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">Interest and other expense, net:</link:label>
    <link:label id="lab_us-gaap_NonoperatingIncomeExpenseAbstract_label_en-US" xlink:label="lab_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nonoperating Income (Expense) [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NonoperatingIncomeExpenseAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="lab_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_7b1c9bfb-6899-4fe6-9122-641e2546dad7_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_DocumentQuarterlyReport_710113ac-ae5e-43ad-8d83-b8e2874348d0_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/2020/dei-2020-01-31.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_VestingAxis_4f346a6a-5376-434c-8c06-007f73d31461_terseLabel_en-US" xlink:label="lab_us-gaap_VestingAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Axis]</link:label>
    <link:label id="lab_us-gaap_VestingAxis_label_en-US" xlink:label="lab_us-gaap_VestingAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VestingAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VestingAxis" xlink:to="lab_us-gaap_VestingAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpenseMember_1f2b4fea-5b0e-4f86-8f76-ffb9a3714e58_terseLabel_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpenseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General and administrative</link:label>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpenseMember_label_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpenseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General and Administrative Expense [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpenseMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GeneralAndAdministrativeExpenseMember" xlink:to="lab_us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan_41226c34-b00c-46df-8365-daffebaa1c01_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan" xlink: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 purchased under ESPP (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan" xlink: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 Ownership Plan</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan" xlink:type="arc" order="1"/>
    <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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_AssetsFairValueDisclosure_db0c63b7-a253-453b-b594-ce1cade4a844_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_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_ExtendedWarrantyMember_dff24bd6-6fcb-49c6-ae90-996106dd35db_terseLabel_en-US" xlink:label="lab_calx_ExtendedWarrantyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Extended warranty</link:label>
    <link:label id="lab_calx_ExtendedWarrantyMember_label_en-US" xlink:label="lab_calx_ExtendedWarrantyMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Extended Warranty [Member]</link:label>
    <link:label id="lab_calx_ExtendedWarrantyMember_documentation_en-US" xlink:label="lab_calx_ExtendedWarrantyMember" 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">Extended Warranty</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ExtendedWarrantyMember" xlink:href="calx-20211002.xsd#calx_ExtendedWarrantyMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_ExtendedWarrantyMember" xlink:to="lab_calx_ExtendedWarrantyMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_5ef8aead-b7ff-418f-8a9f-6a0710e88d0c_verboseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" 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">Deferred revenue</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_85cec929-77a4-4aed-aa94-dabfe34a7195_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink: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, current</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink: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, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CustomerConcentrationRiskMember_42855d03-39ab-4a65-a3a8-db45eab9b1df_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_CreditFacilityDomain_7746ca40-f3c4-4f93-a687-bdec3bfaf58d_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:label id="lab_us-gaap_CreditFacilityDomain_label_en-US" xlink:label="lab_us-gaap_CreditFacilityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityDomain" xlink:to="lab_us-gaap_CreditFacilityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_400a17bf-81f3-4139-824d-94c3f69ce122_verboseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" 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">Diluted (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_7d8c7410-e342-4e66-a61d-88af800adc22_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 common shares outstanding used to compute diluted net income (loss) 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_LetterOfCreditMember_b6d6e7e2-41d1-4375-80c8-e2495027b51f_terseLabel_en-US" xlink:label="lab_us-gaap_LetterOfCreditMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Letter of Credit</link:label>
    <link:label id="lab_us-gaap_LetterOfCreditMember_label_en-US" xlink:label="lab_us-gaap_LetterOfCreditMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Letter of Credit [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LetterOfCreditMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LetterOfCreditMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LetterOfCreditMember" xlink:to="lab_us-gaap_LetterOfCreditMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_43fa02e6-e357-4d4c-8df5-d78dfc9a20e9_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_6aa71974-0cce-45ed-a3f1-ba0aa1496532_verboseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" 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 net income per common share (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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_dei_EntityFileNumber_377362a1-f887-419a-b348-305f808750b7_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/2020/dei-2020-01-31.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_OperatingLeaseWeightedAverageRemainingLeaseTerm1_d2c7276b-df39-4d77-9b2c-54aeec6329ef_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">Weighted average remaining lease term for operating lease</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_SellingAndMarketingExpense_aaa374fe-ac44-4d2c-ae47-008b2ba91170_verboseLabel_en-US" xlink:label="lab_us-gaap_SellingAndMarketingExpense" 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">Sales and marketing</link:label>
    <link:label id="lab_us-gaap_SellingAndMarketingExpense_label_en-US" xlink:label="lab_us-gaap_SellingAndMarketingExpense" xlink: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 and Marketing Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingAndMarketingExpense" xlink:to="lab_us-gaap_SellingAndMarketingExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_calx_BankOfAmericaMember_1ad54c83-af57-46fa-910c-6e6c977c8d13_terseLabel_en-US" xlink:label="lab_calx_BankOfAmericaMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Bank Of America</link:label>
    <link:label id="lab_calx_BankOfAmericaMember_label_en-US" xlink:label="lab_calx_BankOfAmericaMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Bank Of America [Member]</link:label>
    <link:label id="lab_calx_BankOfAmericaMember_documentation_en-US" xlink:label="lab_calx_BankOfAmericaMember" 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">Bank Of America [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_BankOfAmericaMember" xlink:href="calx-20211002.xsd#calx_BankOfAmericaMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_BankOfAmericaMember" xlink:to="lab_calx_BankOfAmericaMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringPlanAxis_a8debfdc-adc2-4d7a-832c-2a2b1c3dbd60_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_NetCashProvidedByUsedInFinancingActivities_437d3bd4-8700-4325-b73a-0c376818f3f1_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 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_DeferredRevenueArrangementTypeDomain_7cc06ca6-821d-460b-955e-5b2a3620fc46_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredRevenueArrangementTypeDomain" xlink: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 [Domain]</link:label>
    <link:label id="lab_us-gaap_DeferredRevenueArrangementTypeDomain_label_en-US" xlink:label="lab_us-gaap_DeferredRevenueArrangementTypeDomain" xlink: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 [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenueArrangementTypeDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenueArrangementTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenueArrangementTypeDomain" xlink:to="lab_us-gaap_DeferredRevenueArrangementTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligation_e4b0efc5-aa2b-4952-b2b3-6fe9e8a6a05d_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">Remaining performance obligation, amount</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_AllocatedShareBasedCompensationExpense_da2a9bc9-311e-45a0-8735-befc391bded2_verboseLabel_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_RevenueFromContractWithCustomerIncludingAssessedTax_1b2bea18-4499-4851-98fe-72eb416648f5_verboseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" 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">Revenue</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_e2b6a6bf-b2c9-420c-b551-9fb3a33c53c3_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink: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 revenues</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink: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, Including Assessed Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockValue_4ecc21f7-470a-4204-b7d2-457ff33d021b_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.025 par value; 100,000 shares authorized; 63,732 shares issued and outstanding as of October 2, 2021, and 62,122 shares issued and outstanding as of December 31, 2020</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_ProductReturnReserveCurrent_8f872ba3-38ea-480a-91a3-2e79ded3b84c_terseLabel_en-US" xlink:label="lab_calx_ProductReturnReserveCurrent" xlink: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 returns</link:label>
    <link:label id="lab_calx_ProductReturnReserveCurrent_label_en-US" xlink:label="lab_calx_ProductReturnReserveCurrent" xlink: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 Return Reserve, Current</link:label>
    <link:label id="lab_calx_ProductReturnReserveCurrent_documentation_en-US" xlink:label="lab_calx_ProductReturnReserveCurrent" 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">Product Return Reserve, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ProductReturnReserveCurrent" xlink:href="calx-20211002.xsd#calx_ProductReturnReserveCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_ProductReturnReserveCurrent" xlink:to="lab_calx_ProductReturnReserveCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_29119bfe-0877-44d3-928f-3e63f657e2cf_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_dei_DocumentFiscalYearFocus_f5dbbec6-81a3-45a7-9dec-4a5a61ebc025_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/2020/dei-2020-01-31.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_CommercialPaperMember_3e668428-751c-4881-85f7-a678f3059370_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_CashAndCashEquivalentsAxis_a03a12de-9987-4326-ae4b-c6992fb23aed_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAxis" xlink: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 [Axis]</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAxis_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAxis" xlink: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 [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis" xlink:to="lab_us-gaap_CashAndCashEquivalentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_74cac1f5-5263-446d-88d3-cca721efd231_verboseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" 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">Summary of accounts receivable, net</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink: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 Accounts, Notes, Loans and Financing Receivable [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:to="lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCurrentReportingStatus_e264a5a7-554c-48db-927e-4b577ede1f94_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/2020/dei-2020-01-31.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_PaymentsToAcquireAvailableForSaleSecuritiesDebt_1e53032e-b3f9-4c85-98a1-92a57c680be3_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" 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">Purchases of marketable securities</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink: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 Debt Securities, Available-for-sale</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:to="lab_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_60d5714c-63e6-4a2f-93d3-d91b2e916b98_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink: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 equity incentive plans, net of forfeitures (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink: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, after Forfeiture</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentTable_6aa5f5ad-37db-4574-8b1b-48ad0405ad59_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentTable" xlink: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 Long-term Debt Instruments [Table]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentTable_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentTable" xlink: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 Long-term Debt Instruments [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentTable" xlink:to="lab_us-gaap_DebtInstrumentTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityLenderDomain_4cb0cd4e-715b-4719-91af-ef5a93599283_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityLenderDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Lender [Domain]</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityLenderDomain_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityLenderDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Lender [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLenderDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityLenderDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="lab_us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryNetAbstract_463ba167-785e-4083-a30f-dde0225d5630_verboseLabel_en-US" xlink:label="lab_us-gaap_InventoryNetAbstract" 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">Summary of inventory, net</link:label>
    <link:label id="lab_us-gaap_InventoryNetAbstract_label_en-US" xlink:label="lab_us-gaap_InventoryNetAbstract" xlink: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 [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNetAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryNetAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryNetAbstract" xlink:to="lab_us-gaap_InventoryNetAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_calx_AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff_a5124e0b-55c0-49b6-a795-805b49dab094_terseLabel_en-US" xlink:label="lab_calx_AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff" xlink: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 common areas maintenance fees and property taxes, write-off</link:label>
    <link:label id="lab_calx_AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff_label_en-US" xlink:label="lab_calx_AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff" xlink: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 Common Areas Maintenance Fees And Property Taxes, Write Off</link:label>
    <link:label id="lab_calx_AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff_documentation_en-US" xlink:label="lab_calx_AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff" 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">Accrued Common Areas Maintenance Fees And Property Taxes, Write Off</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff" xlink:href="calx-20211002.xsd#calx_AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff" xlink:to="lab_calx_AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_379a2def-149f-48ed-a134-b5517b0fcdb7_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink: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 vesting rights, percentage</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink: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, Award Vesting Rights, Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_0c7956c3-8296-4a72-b099-b15d7cbcf204_verboseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" 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">Investing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink: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 [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_d0a6e092-a1c3-4ba0-86ae-cbe709fd8870_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" 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, 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_CashAndCashEquivalentsAtCarryingValue_724e1abf-1c73-452a-b979-4a8ab8af0cc2_verboseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" 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 and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_e00b5d0d-c405-436e-9919-cd3e4d23d388_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">Total 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_OperatingLeaseLiability_a68da3be-910f-447e-b485-e1b32f8c06c8_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">Operating lease liability</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_CashCashEquivalentsAndMarketableSecuritiesTextBlock_0bba3ee6-92d7-4ba7-81cd-84ddb829a991_terseLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock" xlink: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, Cash Equivalents, and Marketable Securities</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock" xlink: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, and Marketable Securities [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock" xlink:to="lab_us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_78019fcf-62af-474d-9b1f-169c9e2bedd8_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, net</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_DebtInstrumentLineItems_3b7ec318-223a-44bb-b766-0d74a228d5d9_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Line Items]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentLineItems_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentLineItems" xlink:to="lab_us-gaap_DebtInstrumentLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquity_a141bc82-5e36-4203-ad19-c28fb8531d7e_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_78a8bc32-fa3a-4048-9555-8b44fce6fdb6_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">Balance at beginning of period</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_cc4cafca-db54-4814-9d63-83120f4a4eeb_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">Balance at end of period</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ConcentrationRiskTypeDomain_966a5e48-92a0-4e35-94a0-e033917b4c96_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_LiabilitiesAndStockholdersEquity_257cb194-af27-4647-9d0a-2a9408a1d378_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_LossContingenciesLineItems_f9ae584b-3a2b-4578-8d68-7ed27cd77cfb_terseLabel_en-US" xlink:label="lab_us-gaap_LossContingenciesLineItems" xlink: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 [Line Items]</link:label>
    <link:label id="lab_us-gaap_LossContingenciesLineItems_label_en-US" xlink:label="lab_us-gaap_LossContingenciesLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss Contingencies [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LossContingenciesLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LossContingenciesLineItems" xlink:to="lab_us-gaap_LossContingenciesLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_880f4d57-dd0c-40ac-a15a-7dba920fa998_verboseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_IncomeTaxDisclosureTextBlock_d2b0e86e-1954-4ce6-9386-03333626c257_verboseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" 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">Income Taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink: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 Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressCityOrTown_39ad5c6c-4d49-4419-9f70-6756443c6dc2_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/2020/dei-2020-01-31.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_us-gaap_EmployeeRelatedLiabilitiesCurrent_e2408406-e990-4b8f-9b8a-2ece8e5fd734_verboseLabel_en-US" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" 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">Compensation and related 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_FairValueByFairValueHierarchyLevelAxis_1f1feebf-fb95-4f4a-bf2b-d77eb1af3693_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate_2510f178-a03e-44c9-9e80-c8c8b83c10f1_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate" 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">ESPP, maximum employee payroll deduction percentage</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate" xlink: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, Maximum Employee Subscription Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpense_8f20e624-c218-434f-bd82-4580a833366a_verboseLabel_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpense" 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">General and administrative</link:label>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpense_label_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General and Administrative Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GeneralAndAdministrativeExpense" xlink:to="lab_us-gaap_GeneralAndAdministrativeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancialInstrumentAxis_0bbf7fec-6d84-4a73-b821-5f26cfbefe5e_terseLabel_en-US" xlink:label="lab_us-gaap_FinancialInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instrument [Axis]</link:label>
    <link:label id="lab_us-gaap_FinancialInstrumentAxis_label_en-US" xlink:label="lab_us-gaap_FinancialInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instrument [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancialInstrumentAxis" xlink:to="lab_us-gaap_FinancialInstrumentAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_calx_CostOfRevenueServicesMember_17be87ea-920c-48d5-8e68-5cd4b318737c_terseLabel_en-US" xlink:label="lab_calx_CostOfRevenueServicesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Services</link:label>
    <link:label id="lab_calx_CostOfRevenueServicesMember_label_en-US" xlink:label="lab_calx_CostOfRevenueServicesMember" xlink: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 Revenue, Services [Member]</link:label>
    <link:label id="lab_calx_CostOfRevenueServicesMember_documentation_en-US" xlink:label="lab_calx_CostOfRevenueServicesMember" 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">Cost Of Revenue, Services [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_CostOfRevenueServicesMember" xlink:href="calx-20211002.xsd#calx_CostOfRevenueServicesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_CostOfRevenueServicesMember" xlink:to="lab_calx_CostOfRevenueServicesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_5ee43759-e02b-49b8-bf2b-47a86d70a7c4_verboseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" 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">Potentially dilutive shares, weighted average (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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_FiniteLivedIntangibleAssetUsefulLife_84a4f2e4-d6db-45c2-bc13-5cb0803ce6e6_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Useful life</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink: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, Useful Life</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityComponentDomain_5ca44517-7656-441e-951c-87625d41ab95_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_DeferredTaxAssetsValuationAllowance_2521bfa6-f236-4224-aebb-171613859cba_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Valuation allowance</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink: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 Tax Assets, Valuation Allowance</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ExecutiveOfficerMember_e1c5e76a-90a6-4206-aeee-e139b9973a69_terseLabel_en-US" xlink:label="lab_srt_ExecutiveOfficerMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Executive Officer</link:label>
    <link:label id="lab_srt_ExecutiveOfficerMember_label_en-US" xlink:label="lab_srt_ExecutiveOfficerMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Executive Officer [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ExecutiveOfficerMember" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ExecutiveOfficerMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ExecutiveOfficerMember" xlink:to="lab_srt_ExecutiveOfficerMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GrossProfit_7aa87b82-5b34-412f-89bf-4422a5e917fa_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_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_PropertyPlantAndEquipmentNet_aa8aa6f6-5670-4b7d-a713-3c7c9033c3e1_verboseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" 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">Property and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_2412701f-e55d-4bd0-85aa-3b7ceb2d0b6c_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">Property and equipment, net</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_dei_EntityTaxIdentificationNumber_79b50bdf-f5ee-4826-b74a-d7441f5a738a_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/2020/dei-2020-01-31.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_InterestIncomeExpenseNonoperatingNet_17533541-ed42-40e0-a2f1-f272978b8169_verboseLabel_en-US" xlink:label="lab_us-gaap_InterestIncomeExpenseNonoperatingNet" 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">Interest expense, net</link:label>
    <link:label id="lab_us-gaap_InterestIncomeExpenseNonoperatingNet_label_en-US" xlink:label="lab_us-gaap_InterestIncomeExpenseNonoperatingNet" xlink: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), Nonoperating, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:to="lab_us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_28ced2b7-2bdc-4d81-844a-2e9208374011_verboseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" 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">Changes in operating 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_4607bf98-7152-417a-8fe6-9fae52d22830_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 2021</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_LondonInterbankOfferedRateLIBORMember_3c10e48e-ca7b-465c-ab0d-d065bcce8d87_terseLabel_en-US" xlink:label="lab_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">London Interbank Offered Rate (LIBOR)</link:label>
    <link:label id="lab_us-gaap_LondonInterbankOfferedRateLIBORMember_label_en-US" xlink:label="lab_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">London Interbank Offered Rate (LIBOR) [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:to="lab_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrent_647a3bbb-27e1-475b-b434-d248bb3d3501_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_dei_CurrentFiscalYearEndDate_55e75478-f7aa-455b-93b2-b4eaff1d4ba9_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/2020/dei-2020-01-31.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_OperatingExpensesAbstract_267f0e0f-a81c-481e-9693-5706b27533fb_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingExpensesAbstract" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_EarningsPerShareAbstract_9fab14ee-cefe-45fd-9313-2fa139f733b6_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 common 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_RestructuringCharges_f4bab2f8-a957-4e59-87fb-6f75d15259b2_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_StockholdersEquityAbstract_74bfc10b-b689-4a88-80cc-8381597afc01_verboseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_CashAndCashEquivalentsAbstract_9b9e909e-b5d2-4d75-9ed4-f1089fe22fc8_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAbstract" xlink: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 [Abstract]</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAbstract_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAbstract" xlink: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 [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract" xlink:to="lab_us-gaap_CashAndCashEquivalentsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_13e2ea56-e464-4faa-9de5-42988cb4183e_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/2020/dei-2020-01-31.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_ContractWithCustomerLiabilityNoncurrent_173656ca-9ba5-4de1-91bc-e7af5239a9e2_verboseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityNoncurrent" 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">Long-term portion of deferred revenue</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityNoncurrent_22b34471-829d-4729-b3c6-621439cfa56c_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink: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, current</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityNoncurrent_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink: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, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TechnologyServiceMember_fba1f919-abc5-4be0-8d60-1269e4dab424_terseLabel_en-US" xlink:label="lab_us-gaap_TechnologyServiceMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Services</link:label>
    <link:label id="lab_us-gaap_TechnologyServiceMember_label_en-US" xlink:label="lab_us-gaap_TechnologyServiceMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Technology Service [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TechnologyServiceMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TechnologyServiceMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TechnologyServiceMember" xlink:to="lab_us-gaap_TechnologyServiceMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFilerCategory_546ac175-0fe7-41d9-9868-e2d678ebf3d3_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/2020/dei-2020-01-31.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_CommonStockMember_4e80aadb-bdd3-44f7-b2b4-21df57bbff41_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_PropertyPlantAndEquipmentLineItems_d19b52d4-82e3-4bcf-a0e8-9225aeb0231d_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_srt_ProductsAndServicesDomain_40ba2231-2881-4555-8c11-17a6e1e1ce83_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="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.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_PropertyPlantAndEquipmentTypeDomain_d4d6aacf-8746-4e24-b972-c3fc9c4e4271_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ConcentrationRiskBenchmarkDomain_0929bf4c-2e5a-41f8-854c-670e73dfffcc_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_RoyaltyGuaranteesCommitmentsAmount_88ac9afe-152b-44d5-a64c-61ba362daca2_terseLabel_en-US" xlink:label="lab_us-gaap_RoyaltyGuaranteesCommitmentsAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Royalty payment commitment</link:label>
    <link:label id="lab_us-gaap_RoyaltyGuaranteesCommitmentsAmount_label_en-US" xlink:label="lab_us-gaap_RoyaltyGuaranteesCommitmentsAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Royalty Guarantees, Commitments, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RoyaltyGuaranteesCommitmentsAmount" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RoyaltyGuaranteesCommitmentsAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RoyaltyGuaranteesCommitmentsAmount" xlink:to="lab_us-gaap_RoyaltyGuaranteesCommitmentsAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_calx_ContractwithCustomerAssetPriorPeriodNotRecognized_7127a198-f8f5-4a78-adb3-605fa7b14b55_terseLabel_en-US" xlink:label="lab_calx_ContractwithCustomerAssetPriorPeriodNotRecognized" xlink: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, asset, prior period, not recognized</link:label>
    <link:label id="lab_calx_ContractwithCustomerAssetPriorPeriodNotRecognized_label_en-US" xlink:label="lab_calx_ContractwithCustomerAssetPriorPeriodNotRecognized" xlink: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, Prior Period, Not Recognized</link:label>
    <link:label id="lab_calx_ContractwithCustomerAssetPriorPeriodNotRecognized_documentation_en-US" xlink:label="lab_calx_ContractwithCustomerAssetPriorPeriodNotRecognized" 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">Contract with Customer, Asset, Prior Period, Not Recognized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ContractwithCustomerAssetPriorPeriodNotRecognized" xlink:href="calx-20211002.xsd#calx_ContractwithCustomerAssetPriorPeriodNotRecognized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_ContractwithCustomerAssetPriorPeriodNotRecognized" xlink:to="lab_calx_ContractwithCustomerAssetPriorPeriodNotRecognized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_5faf17bf-18c0-4f93-b1fc-7f563654f646_verboseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" 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">Summary of property and equipment, net</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_RevenueShareObligationCurrent_f1fd7f14-2eea-4d5a-896e-453622d32479_terseLabel_en-US" xlink:label="lab_calx_RevenueShareObligationCurrent" xlink: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 revenue share obligations</link:label>
    <link:label id="lab_calx_RevenueShareObligationCurrent_label_en-US" xlink:label="lab_calx_RevenueShareObligationCurrent" xlink: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 Share Obligation, Current</link:label>
    <link:label id="lab_calx_RevenueShareObligationCurrent_documentation_en-US" xlink:label="lab_calx_RevenueShareObligationCurrent" 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">Revenue Share Obligation, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_RevenueShareObligationCurrent" xlink:href="calx-20211002.xsd#calx_RevenueShareObligationCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_RevenueShareObligationCurrent" xlink:to="lab_calx_RevenueShareObligationCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_calx_PerformanceBasedStockOptionsMember_46c7c508-e085-4723-b115-2e1e5fb9665e_terseLabel_en-US" xlink:label="lab_calx_PerformanceBasedStockOptionsMember" xlink: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 Based Stock Options</link:label>
    <link:label id="lab_calx_PerformanceBasedStockOptionsMember_label_en-US" xlink:label="lab_calx_PerformanceBasedStockOptionsMember" xlink: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 Based Stock Options [Member]</link:label>
    <link:label id="lab_calx_PerformanceBasedStockOptionsMember_documentation_en-US" xlink:label="lab_calx_PerformanceBasedStockOptionsMember" 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 Based Stock Options</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_PerformanceBasedStockOptionsMember" xlink:href="calx-20211002.xsd#calx_PerformanceBasedStockOptionsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_PerformanceBasedStockOptionsMember" xlink:to="lab_calx_PerformanceBasedStockOptionsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_905b3fcb-1d55-47a1-8e85-350e2a540987_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of credit, amount available</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Remaining Borrowing Capacity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:to="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues_fc2bd240-28d0-4e33-819b-ddc935e186f3_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink: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 in connection with public offering (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink: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, New Issues</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseholdImprovementsMember_253c41d2-1a98-494a-97fb-1f70fafe51de_verboseLabel_en-US" xlink:label="lab_us-gaap_LeaseholdImprovementsMember" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes_469c4f07-4b3f-4672-819f-60aa970a067f_terseLabel_en-US" xlink:label="lab_calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Taxes payable</link:label>
    <link:label id="lab_calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes_label_en-US" xlink:label="lab_calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes" xlink: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, Current, Excluding Accrued Income Taxes</link:label>
    <link:label id="lab_calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes_documentation_en-US" xlink:label="lab_calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes" 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">Taxes Payable, Current, Excluding Accrued Income Taxes</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes" xlink:href="calx-20211002.xsd#calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes" xlink:to="lab_calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MunicipalNotesMember_8c9206b9-2494-4f1f-a3fe-3842508fc2c0_terseLabel_en-US" xlink:label="lab_us-gaap_MunicipalNotesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Municipal securities</link:label>
    <link:label id="lab_us-gaap_MunicipalNotesMember_label_en-US" xlink:label="lab_us-gaap_MunicipalNotesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Municipal Notes [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalNotesMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MunicipalNotesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MunicipalNotesMember" xlink:to="lab_us-gaap_MunicipalNotesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_df6d675a-30d8-46ee-8f86-7a6e7528f983_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">Performance obligations expected to be satisfied, expected timing</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_MoneyMarketFundsMember_5fb90e9c-f672-4a67-b177-ae9ffb72c4df_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_258e5412-7dff-448d-939a-e54f9ae369b6_negatedLabel_en-US" xlink:label="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_StockIssuedDuringPeriodSharesStockOptionsExercised_a76bafdb-ce0c-46c9-9070-4d65ce837705_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink: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 options exercised (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink: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, Exercises in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_462375cc-5220-41b0-bd05-9649642e7ece_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 (decrease) in cash and cash equivalents</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_f597ca9b-ff02-44b0-97d2-9c38c5ac7d2e_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 rental payments for operating 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_EmployeeStockOptionMember_76bb9836-8f9e-43e0-8486-ec1324ea1b02_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember" xlink: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 Options</link:label>
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_label_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember" xlink: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, Option [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeStockOptionMember" xlink:to="lab_us-gaap_EmployeeStockOptionMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_d214efdd-c9b0-4bc0-9779-49e7ddb263a4_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_WeightedAverageNumberOfSharesOutstandingBasic_b1d58d6e-6c7c-49d8-a130-715384616d3c_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">Basic (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_a25f5b4f-b3d7-43fa-adde-7e97f884f4fa_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">Weighted-average common shares outstanding used to compute basic net income (loss) 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_11b5c823-8c8e-4036-8629-d6309d96c332_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink: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 spread on variable rate</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Basis Spread on Variable Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringReserveCurrent_1a3368ee-92fa-4a22-b451-53dddbc79364_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserveCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operations</link:label>
    <link:label id="lab_us-gaap_RestructuringReserveCurrent_label_en-US" xlink:label="lab_us-gaap_RestructuringReserveCurrent" xlink: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, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringReserveCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringReserveCurrent" xlink:to="lab_us-gaap_RestructuringReserveCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeSeveranceMember_986cbc58-6d2a-4f83-a5c8-86dde54959e7_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">Severance and Related 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_LossContingenciesTable_d42f7580-9901-4775-891d-0532c6bacaa3_terseLabel_en-US" xlink:label="lab_us-gaap_LossContingenciesTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss Contingencies [Table]</link:label>
    <link:label id="lab_us-gaap_LossContingenciesTable_label_en-US" xlink:label="lab_us-gaap_LossContingenciesTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss Contingencies [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LossContingenciesTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LossContingenciesTable" xlink:to="lab_us-gaap_LossContingenciesTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PlanNameDomain_c9e2a88f-7fbb-4375-90d7-19d11aad5cc3_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_RevenueFromContractWithCustomerTextBlock_c69caf70-02ec-47c8-8468-779e8d24f39b_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 from Contracts with Customers</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_NumberOfEmployeeStockPurchasePlans_d747c4b9-ba0c-4f8e-bcfa-a34f23117359_terseLabel_en-US" xlink:label="lab_calx_NumberOfEmployeeStockPurchasePlans" xlink: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 employee stock purchase plans</link:label>
    <link:label id="lab_calx_NumberOfEmployeeStockPurchasePlans_label_en-US" xlink:label="lab_calx_NumberOfEmployeeStockPurchasePlans" xlink: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 Employee Stock Purchase Plans</link:label>
    <link:label id="lab_calx_NumberOfEmployeeStockPurchasePlans_documentation_en-US" xlink:label="lab_calx_NumberOfEmployeeStockPurchasePlans" 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">Number Of Employee Stock Purchase Plans</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_NumberOfEmployeeStockPurchasePlans" xlink:href="calx-20211002.xsd#calx_NumberOfEmployeeStockPurchasePlans"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_NumberOfEmployeeStockPurchasePlans" xlink:to="lab_calx_NumberOfEmployeeStockPurchasePlans" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_94ba151f-a35f-462f-99e3-c76b003b85d0_verboseLabel_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" 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">Company and Basis of Presentation</link:label>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink: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 [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_af162062-9720-4940-9877-ede274251858_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" 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">Stockholders' Equity</link:label>
    <link:label id="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_label_en-US" xlink:label="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shareholders' Equity and Share-based Payments [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:to="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_ba4e5e8b-fa03-465a-9c41-01415583ce8f_verboseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" 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">Income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_62dc2fae-81ee-4ca4-bbb8-4ded71546a97_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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_33fde9f1-4f1b-44c8-8ff6-1bd2d7b7f189_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 and cash equivalents at beginning of period</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_4deda65d-da11-4521-9a9e-e6469f99f5fc_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 and cash equivalents at end of period</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_srt_TitleOfIndividualWithRelationshipToEntityDomain_8b438e5f-f00e-4d5c-9fb6-c7343dde2b22_terseLabel_en-US" xlink:label="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink: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 Individual [Domain]</link:label>
    <link:label id="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain_label_en-US" xlink:label="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink: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 Individual [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_20424d7b-7e21-4524-a072-b0530f89cd62_verboseLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" 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">Accrued liabilities</link:label>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_c3eec9f5-eb1f-4e9e-a28e-e9a5252a5cde_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">Total 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_EarningsPerShareDiluted_e1def3a6-251a-44c0-8d0a-c7d0f2e5bda8_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_de0027e7-3391-4084-9c56-f5f806e412ab_verboseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" 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">Diluted net income per common share (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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_dei_LocalPhoneNumber_97c556e4-0d5b-483e-a0e2-03198bbbc351_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/2020/dei-2020-01-31.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_calx_PaymentsForFinancingArrangements_1f7431a8-3b3d-481f-937f-98abe18a2a90_negatedTerseLabel_en-US" xlink:label="lab_calx_PaymentsForFinancingArrangements" 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">Payments related to financing arrangements</link:label>
    <link:label id="lab_calx_PaymentsForFinancingArrangements_label_en-US" xlink:label="lab_calx_PaymentsForFinancingArrangements" xlink: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 Financing Arrangements</link:label>
    <link:label id="lab_calx_PaymentsForFinancingArrangements_documentation_en-US" xlink:label="lab_calx_PaymentsForFinancingArrangements" 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">Payments For Financing Arrangements</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_PaymentsForFinancingArrangements" xlink:href="calx-20211002.xsd#calx_PaymentsForFinancingArrangements"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_PaymentsForFinancingArrangements" xlink:to="lab_calx_PaymentsForFinancingArrangements" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember_939527f9-8763-4f58-b476-a37eaec51021_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Period One</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink: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, Tranche One [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:to="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrentAbstract_ac3d4189-99a0-404b-9061-1f116b00d12a_verboseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrentAbstract" 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">Summary of accounts receivable, net</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrentAbstract" xlink: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 [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrentAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableNetCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNetCurrentAbstract" xlink:to="lab_us-gaap_AccountsReceivableNetCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Depreciation_980bb656-8ca5-4313-a9da-6c97f69289fa_verboseLabel_en-US" xlink:label="lab_us-gaap_Depreciation" 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">Depreciation and amortization</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_dei_EntityAddressAddressLine1_4bd15626-ca80-48aa-bcd6-e074c9638f33_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/2020/dei-2020-01-31.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_us-gaap_ContractWithCustomerLiability_4bc3220e-012e-4997-81ff-3b0b60bb3221_totalLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" 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">Deferred revenue</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_PrimeRateMember_2ae0db9d-87b9-4630-a01a-1de0af92cfd5_terseLabel_en-US" xlink:label="lab_us-gaap_PrimeRateMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prime Rate</link:label>
    <link:label id="lab_us-gaap_PrimeRateMember_label_en-US" xlink:label="lab_us-gaap_PrimeRateMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prime Rate [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrimeRateMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrimeRateMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrimeRateMember" xlink:to="lab_us-gaap_PrimeRateMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_f8c5b8e9-623f-406c-a00d-c44ccccede3c_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/2020/dei-2020-01-31.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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_341e6517-1d60-47a7-9494-e50312719873_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_ScheduleOfFiniteLivedIntangibleAssetsTable_e788b6c7-e193-42de-a2c0-ef4e50753758_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_LineOfCreditFacilityMaximumBorrowingCapacity_e824c0da-cccf-4f6e-b514-74d1cf6f0704_verboseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" 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">Revolving credit facility, maximum capacity</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AwardTypeAxis_0c9182bd-3632-4a09-8688-2840718b2ec7_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_srt_MaximumMember_72f9f79c-2922-41c7-b0cb-bc9b6f4a378c_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="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.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_PreferredStockSharesAuthorized_bbaeb2f6-0b69-420c-be04-f8a0ffa0d78d_verboseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" 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">Preferred stock, shares authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesAuthorized" xlink:to="lab_us-gaap_PreferredStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod_67e11242-f00a-47f9-a146-88bab2f08acc_terseLabel_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod" xlink: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 shares authorized per purchase period (in shares)</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod_label_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod" xlink: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, Number Of Shares Authorized Per Purchase Period</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod_documentation_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod" 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">Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Authorized Per Purchase Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod" xlink:to="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsMember_3aab1074-f5da-4654-be3e-c2e1fc692482_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_PreferredStockSharesOutstanding_72dca28c-f030-4add-8832-b9c1c4b3826d_verboseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" 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">Preferred stock, shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesOutstanding" xlink:to="lab_us-gaap_PreferredStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_8777443f-0393-492c-b253-9353feda7c08_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective tax rate</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_f215f8f1-22a0-469e-9c4c-9cdc76a9150f_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_SignificantAccountingPoliciesTextBlock_ba6b33f6-68a3-4317-84af-72011c440900_verboseLabel_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock" 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">Significant Accounting Policies</link:label>
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_label_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Significant Accounting Policies [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_6cfbe785-efe0-44f1-b3af-2d92b32a772c_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b9c0ffe4-0573-416f-a0f9-2ae00f5d7adf_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_89730ab9-4bf5-46c4-887b-a098d28601d9_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_CorporateDebtSecuritiesMember_919a1ec1-5656-428e-a86a-0fe918fb638f_terseLabel_en-US" xlink:label="lab_us-gaap_CorporateDebtSecuritiesMember" xlink: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 debt securities</link:label>
    <link:label id="lab_us-gaap_CorporateDebtSecuritiesMember_label_en-US" xlink:label="lab_us-gaap_CorporateDebtSecuritiesMember" xlink: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 Debt Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateDebtSecuritiesMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CorporateDebtSecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CorporateDebtSecuritiesMember" xlink:to="lab_us-gaap_CorporateDebtSecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_TradingSymbol_c5677023-34d9-4da4-9526-2028e6a2a1c7_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/2020/dei-2020-01-31.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_calx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_78d96a45-4314-49c3-af7c-166f2c3c1225_terseLabel_en-US" xlink:label="lab_calx_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_calx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_label_en-US" xlink:label="lab_calx_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_calx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_documentation_en-US" xlink:label="lab_calx_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_calx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" xlink:href="calx-20211002.xsd#calx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" xlink:to="lab_calx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_179640c2-37ca-47cc-95a4-7566f8bede58_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink: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 to compute net income (loss) per common share</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink: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 Reconciliation [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetNet_3c0766e4-069a-45cc-ada8-a1d2890d0cb4_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 with customer, asset</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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_FacilityClosingMember_969c7222-1a8c-4f10-aa6e-a8dbe214544c_terseLabel_en-US" xlink:label="lab_us-gaap_FacilityClosingMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Facilities</link:label>
    <link:label id="lab_us-gaap_FacilityClosingMember_label_en-US" xlink:label="lab_us-gaap_FacilityClosingMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Facility Closing [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FacilityClosingMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FacilityClosingMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FacilityClosingMember" xlink:to="lab_us-gaap_FacilityClosingMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_7a58302c-17c1-49fd-9194-e0bad51d064c_verboseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock" 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">Net Income Per Common 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares_cea234e8-8065-4eed-a5aa-a17532eead79_terseLabel_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares" xlink: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 available for issuance, additional shares (in shares)</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares_label_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares" xlink: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 Number Of Shares Available For Grant, Additional Shares</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares_documentation_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares" 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">Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant, Additional Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares" xlink:to="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_d5ed9d3b-7236-4e5e-bc56-bd05c3eb7ed2_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_EquipmentMember_8bd5bf6a-fece-49f4-833e-670d8227baa3_verboseLabel_en-US" xlink:label="lab_us-gaap_EquipmentMember" 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">Test 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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_LiabilitiesCurrentAbstract_64520b9c-8c14-4286-ad81-b9fc242cbf64_verboseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" 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">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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_dei_EntityShellCompany_3d8c67bd-d367-4827-b082-adaeafd34433_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/2020/dei-2020-01-31.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_FairValueMeasurementsRecurringMember_a908daea-a500-4f1a-8e80-a598c9f3fb2f_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsRecurringMember" xlink: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</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsRecurringMember_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsRecurringMember" xlink: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 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsRecurringMember" xlink:to="lab_us-gaap_FairValueMeasurementsRecurringMember" xlink:type="arc" order="1"/>
    <link:label id="lab_calx_LesseeOperatingLeaseLiabilityTableTextBlock_62a899fa-028b-4dd3-a651-7602e28df677_terseLabel_en-US" xlink:label="lab_calx_LesseeOperatingLeaseLiabilityTableTextBlock" xlink: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, operating lease liability</link:label>
    <link:label id="lab_calx_LesseeOperatingLeaseLiabilityTableTextBlock_label_en-US" xlink:label="lab_calx_LesseeOperatingLeaseLiabilityTableTextBlock" xlink: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 [Table Text Block]</link:label>
    <link:label id="lab_calx_LesseeOperatingLeaseLiabilityTableTextBlock_documentation_en-US" xlink:label="lab_calx_LesseeOperatingLeaseLiabilityTableTextBlock" 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</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_LesseeOperatingLeaseLiabilityTableTextBlock" xlink:href="calx-20211002.xsd#calx_LesseeOperatingLeaseLiabilityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_LesseeOperatingLeaseLiabilityTableTextBlock" xlink:to="lab_calx_LesseeOperatingLeaseLiabilityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_783eaabc-47dd-47f6-a031-f55f0d58498e_verboseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" 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">Newly Adopted Accounting Standard and Recent Accounting Pronouncements Not Yet Adopted</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromLinesOfCredit_79dbd417-9425-47c9-9df3-e8c8d6ca965b_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromLinesOfCredit" xlink: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 line of credit</link:label>
    <link:label id="lab_us-gaap_ProceedsFromLinesOfCredit_label_en-US" xlink:label="lab_us-gaap_ProceedsFromLinesOfCredit" xlink: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 Lines of Credit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLinesOfCredit" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromLinesOfCredit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromLinesOfCredit" xlink:to="lab_us-gaap_ProceedsFromLinesOfCredit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_816d83aa-109f-4be9-ba7d-67fb7a11f533_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="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.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_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent_87c5c70c-2adf-4aee-862d-238e3cba01e6_terseLabel_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Target achievement threshold for shares award sliding scale</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent_label_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent" xlink: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, Shares Award Target Achievement Performance Threshold, Percent</link:label>
    <link:label id="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent_documentation_en-US" xlink:label="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent" 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">Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Threshold, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent" xlink:to="lab_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent" xlink:type="arc" order="1"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>11
<FILENAME>calx-20211002_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 2021 Workiva-->
<!--r:eb3e7fcf-54aa-41be-ae7f-06b3a004aa6e,g:41ec7d7a-5794-4cef-b971-9df9c68285ea-->
<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.calix.com/role/Cover" xlink:type="simple" xlink:href="calx-20211002.xsd#Cover"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/Cover" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_12c25c7d-04e2-4c4b-badb-9fc3e340920f" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentType"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_DocumentType_12c25c7d-04e2-4c4b-badb-9fc3e340920f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentQuarterlyReport_c292ed8b-b85e-48dc-89bf-32f2959bf2f9" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentQuarterlyReport"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_DocumentQuarterlyReport_c292ed8b-b85e-48dc-89bf-32f2959bf2f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_a200e49c-eaf5-4f1c-8efc-b064ee0e09c2" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentPeriodEndDate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_DocumentPeriodEndDate_a200e49c-eaf5-4f1c-8efc-b064ee0e09c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport_b8004a86-4267-49a8-9c88-8f0be37e38e6" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentTransitionReport"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_DocumentTransitionReport_b8004a86-4267-49a8-9c88-8f0be37e38e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_845b38ce-21a2-4ebc-bec5-9c5841281497" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityFileNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_EntityFileNumber_845b38ce-21a2-4ebc-bec5-9c5841281497" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_f497db4a-c630-4a75-86c3-f07afac3709a" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityRegistrantName"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_EntityRegistrantName_f497db4a-c630-4a75-86c3-f07afac3709a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_aa8cbcda-b7ee-44b3-bea6-deb9f5b1035a" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_EntityIncorporationStateCountryCode_aa8cbcda-b7ee-44b3-bea6-deb9f5b1035a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_5c98e745-5a9e-494d-90d1-200aeba6a6d8" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_EntityTaxIdentificationNumber_5c98e745-5a9e-494d-90d1-200aeba6a6d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_5f5e4d25-c7d0-4336-86fb-aede729fb1b2" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressAddressLine1"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_EntityAddressAddressLine1_5f5e4d25-c7d0-4336-86fb-aede729fb1b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_90a4693f-e93b-4506-a6e0-2784e5d841a3" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressCityOrTown"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_EntityAddressCityOrTown_90a4693f-e93b-4506-a6e0-2784e5d841a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_d4321bf9-9f58-4649-aca3-c19522f40d0c" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressStateOrProvince"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_EntityAddressStateOrProvince_d4321bf9-9f58-4649-aca3-c19522f40d0c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_77ee8055-ec58-413b-8c6d-1eaec7de6fcb" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressPostalZipCode"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_EntityAddressPostalZipCode_77ee8055-ec58-413b-8c6d-1eaec7de6fcb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_9f8a8969-56b8-4b12-be17-1ec9ea8e20d9" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_CityAreaCode"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_CityAreaCode_9f8a8969-56b8-4b12-be17-1ec9ea8e20d9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_d2441ab0-59e5-4ef7-a825-e2d32f4d07cc" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LocalPhoneNumber"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_LocalPhoneNumber_d2441ab0-59e5-4ef7-a825-e2d32f4d07cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_74821e63-7a5c-41ff-97aa-6f201063f162" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_Security12bTitle"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_Security12bTitle_74821e63-7a5c-41ff-97aa-6f201063f162" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_1ad3aa0d-3b93-40ea-a068-af3d40d11627" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_TradingSymbol"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_TradingSymbol_1ad3aa0d-3b93-40ea-a068-af3d40d11627" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_28abde76-c173-449b-a9fd-59cb2523f0ff" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_SecurityExchangeName"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_SecurityExchangeName_28abde76-c173-449b-a9fd-59cb2523f0ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus_c2a8ef48-fe16-410d-8f79-16ac8d670fab" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityCurrentReportingStatus"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_EntityCurrentReportingStatus_c2a8ef48-fe16-410d-8f79-16ac8d670fab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent_75094508-6b49-41d4-8f95-6192f033821a" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_EntityInteractiveDataCurrent_75094508-6b49-41d4-8f95-6192f033821a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory_bfbf163e-b0ea-4d34-99cd-02e49366054c" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityFilerCategory"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_EntityFilerCategory_bfbf163e-b0ea-4d34-99cd-02e49366054c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness_1cf1db01-aa78-47f6-9efe-07b52e590f32" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntitySmallBusiness"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_EntitySmallBusiness_1cf1db01-aa78-47f6-9efe-07b52e590f32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_234b352f-dca2-42fe-b8fb-5fcca1664634" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_EntityEmergingGrowthCompany_234b352f-dca2-42fe-b8fb-5fcca1664634" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany_833b065b-e256-43db-95c4-357b3fd0ae7b" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityShellCompany"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_EntityShellCompany_833b065b-e256-43db-95c4-357b3fd0ae7b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_bd0498c5-29b5-423e-8351-87c9e5a6fd6c" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_bd0498c5-29b5-423e-8351-87c9e5a6fd6c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus_27ebe464-21a1-4720-b993-47ba162389db" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_DocumentFiscalPeriodFocus_27ebe464-21a1-4720-b993-47ba162389db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus_9bd1e486-f470-415d-93e0-ab850165af0b" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentFiscalYearFocus"/>
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_DocumentFiscalYearFocus_9bd1e486-f470-415d-93e0-ab850165af0b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_592962a5-bc12-40bd-b61e-2d22e655b43d" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_AmendmentFlag"/>
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_AmendmentFlag_592962a5-bc12-40bd-b61e-2d22e655b43d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_d56887ed-f9c3-4597-a096-82117fed8230" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityCentralIndexKey"/>
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_EntityCentralIndexKey_d56887ed-f9c3-4597-a096-82117fed8230" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate_5f70c35a-1941-4956-a6b0-a4d234d251f7" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:presentationArc order="29" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_18b18163-7b3d-42a3-86b9-819afacf4a18" xlink:to="loc_dei_CurrentFiscalYearEndDate_5f70c35a-1941-4956-a6b0-a4d234d251f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" xlink:type="simple" xlink:href="calx-20211002.xsd#CONDENSEDCONSOLIDATEDBALANCESHEETS"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_82d1e764-6544-47b5-9862-ca41d2f572a4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_e87213cc-b435-4c4d-b13a-a50a1fdfe98e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_82d1e764-6544-47b5-9862-ca41d2f572a4" xlink:to="loc_us-gaap_AssetsAbstract_e87213cc-b435-4c4d-b13a-a50a1fdfe98e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract_c5bbd470-4b43-4f7f-ac6d-ed69675650fd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_e87213cc-b435-4c4d-b13a-a50a1fdfe98e" xlink:to="loc_us-gaap_AssetsCurrentAbstract_c5bbd470-4b43-4f7f-ac6d-ed69675650fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_eb0ca2c4-2a92-4c2c-95b9-6dd16d174844" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_c5bbd470-4b43-4f7f-ac6d-ed69675650fd" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_eb0ca2c4-2a92-4c2c-95b9-6dd16d174844" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_71760826-6353-49fd-9ec6-1bb9941eaaf9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_c5bbd470-4b43-4f7f-ac6d-ed69675650fd" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_71760826-6353-49fd-9ec6-1bb9941eaaf9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_08135c44-0c77-41f3-9b51-fbcbb5870a8d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_c5bbd470-4b43-4f7f-ac6d-ed69675650fd" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_08135c44-0c77-41f3-9b51-fbcbb5870a8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_798f8c00-4503-45ea-984b-43393f793eea" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_c5bbd470-4b43-4f7f-ac6d-ed69675650fd" xlink:to="loc_us-gaap_InventoryNet_798f8c00-4503-45ea-984b-43393f793eea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_561b2d61-30b8-40db-9bf1-6550723ae2cc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_c5bbd470-4b43-4f7f-ac6d-ed69675650fd" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_561b2d61-30b8-40db-9bf1-6550723ae2cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_f4ed22b7-459e-4a1a-9578-f19d59a1c43c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_c5bbd470-4b43-4f7f-ac6d-ed69675650fd" xlink:to="loc_us-gaap_AssetsCurrent_f4ed22b7-459e-4a1a-9578-f19d59a1c43c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_a90b47c7-8fee-4f58-9d8e-62f586b42685" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_e87213cc-b435-4c4d-b13a-a50a1fdfe98e" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_a90b47c7-8fee-4f58-9d8e-62f586b42685" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_9201ac6a-6041-44fb-9f6a-2d8c7c50fe6e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_e87213cc-b435-4c4d-b13a-a50a1fdfe98e" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_9201ac6a-6041-44fb-9f6a-2d8c7c50fe6e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet_071f129e-444a-4676-9e1f-c12675b39afd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_e87213cc-b435-4c4d-b13a-a50a1fdfe98e" xlink:to="loc_us-gaap_DeferredIncomeTaxAssetsNet_071f129e-444a-4676-9e1f-c12675b39afd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_dc5a2ce9-bd18-4a21-a371-417d0b60dd66" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_e87213cc-b435-4c4d-b13a-a50a1fdfe98e" xlink:to="loc_us-gaap_Goodwill_dc5a2ce9-bd18-4a21-a371-417d0b60dd66" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_3140a3d1-c302-4f5a-8d48-f5237782a70f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_e87213cc-b435-4c4d-b13a-a50a1fdfe98e" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_3140a3d1-c302-4f5a-8d48-f5237782a70f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_4e9501be-6ea6-400b-876a-e62e2d9a33fa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Assets"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_e87213cc-b435-4c4d-b13a-a50a1fdfe98e" xlink:to="loc_us-gaap_Assets_4e9501be-6ea6-400b-876a-e62e2d9a33fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_b7698ba8-33a8-43b0-98a7-991d23b63efb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_82d1e764-6544-47b5-9862-ca41d2f572a4" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_b7698ba8-33a8-43b0-98a7-991d23b63efb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_29195b13-f908-47b5-b811-8fed50d5e5e5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_b7698ba8-33a8-43b0-98a7-991d23b63efb" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_29195b13-f908-47b5-b811-8fed50d5e5e5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_32358e24-d702-4ffe-8199-566b1c160933" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_29195b13-f908-47b5-b811-8fed50d5e5e5" xlink:to="loc_us-gaap_AccountsPayableCurrent_32358e24-d702-4ffe-8199-566b1c160933" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_ffe5ee4a-63c7-4c8e-8d63-74a6c62bcf86" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_29195b13-f908-47b5-b811-8fed50d5e5e5" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_ffe5ee4a-63c7-4c8e-8d63-74a6c62bcf86" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_394632dd-f694-437b-88e8-05329f595e0c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_29195b13-f908-47b5-b811-8fed50d5e5e5" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_394632dd-f694-437b-88e8-05329f595e0c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_879f053f-27ca-410e-a2ea-23122c2ee2bc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_29195b13-f908-47b5-b811-8fed50d5e5e5" xlink:to="loc_us-gaap_LiabilitiesCurrent_879f053f-27ca-410e-a2ea-23122c2ee2bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent_de92a86e-1c21-4c13-8b56-9bbc429022f0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_b7698ba8-33a8-43b0-98a7-991d23b63efb" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent_de92a86e-1c21-4c13-8b56-9bbc429022f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_255a5726-4e9b-439b-807f-3955f17a21f2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_b7698ba8-33a8-43b0-98a7-991d23b63efb" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_255a5726-4e9b-439b-807f-3955f17a21f2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_bdcfad12-0242-4c48-bf7d-65bd06957c1e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_b7698ba8-33a8-43b0-98a7-991d23b63efb" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_bdcfad12-0242-4c48-bf7d-65bd06957c1e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_7c3bc239-649d-4cdd-9e3d-64ec761ef125" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Liabilities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_b7698ba8-33a8-43b0-98a7-991d23b63efb" xlink:to="loc_us-gaap_Liabilities_7c3bc239-649d-4cdd-9e3d-64ec761ef125" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies_2c1a3b67-5d50-4362-a358-002098ac537c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_b7698ba8-33a8-43b0-98a7-991d23b63efb" xlink:to="loc_us-gaap_CommitmentsAndContingencies_2c1a3b67-5d50-4362-a358-002098ac537c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract_bb3038ab-87d9-4f0c-afd2-6b44bb107ff1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_b7698ba8-33a8-43b0-98a7-991d23b63efb" xlink:to="loc_us-gaap_StockholdersEquityAbstract_bb3038ab-87d9-4f0c-afd2-6b44bb107ff1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_766c1a1c-94fe-4430-a4a3-41b858a316f0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_bb3038ab-87d9-4f0c-afd2-6b44bb107ff1" xlink:to="loc_us-gaap_PreferredStockValue_766c1a1c-94fe-4430-a4a3-41b858a316f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_8828a477-5bc9-4c87-bf50-8fe7d531f8af" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_bb3038ab-87d9-4f0c-afd2-6b44bb107ff1" xlink:to="loc_us-gaap_CommonStockValue_8828a477-5bc9-4c87-bf50-8fe7d531f8af" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_82e37d07-1286-4d3c-951b-6dd516000e87" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_bb3038ab-87d9-4f0c-afd2-6b44bb107ff1" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_82e37d07-1286-4d3c-951b-6dd516000e87" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_029ff2a2-9d1e-4f76-8c47-e856855ee1bc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_bb3038ab-87d9-4f0c-afd2-6b44bb107ff1" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_029ff2a2-9d1e-4f76-8c47-e856855ee1bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_b214a353-37cb-407a-9e99-9200785d1294" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_bb3038ab-87d9-4f0c-afd2-6b44bb107ff1" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_b214a353-37cb-407a-9e99-9200785d1294" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_7b72002a-f84f-4701-9d16-214b28044555" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_bb3038ab-87d9-4f0c-afd2-6b44bb107ff1" xlink:to="loc_us-gaap_StockholdersEquity_7b72002a-f84f-4701-9d16-214b28044555" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_8dcbc1d9-4969-4c90-8641-72899264c307" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_b7698ba8-33a8-43b0-98a7-991d23b63efb" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_8dcbc1d9-4969-4c90-8641-72899264c307" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" xlink:type="simple" xlink:href="calx-20211002.xsd#CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_6040f554-c326-46ec-bdf2-f8924642e273" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_c69df9f7-2f12-4631-a72d-59802c2c1b11" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_6040f554-c326-46ec-bdf2-f8924642e273" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_c69df9f7-2f12-4631-a72d-59802c2c1b11" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_3876b52b-b4ba-4a88-b51f-3e04728e1aa3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_6040f554-c326-46ec-bdf2-f8924642e273" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_3876b52b-b4ba-4a88-b51f-3e04728e1aa3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued_995907b4-a3b1-426e-ab50-1e138ba4b404" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_6040f554-c326-46ec-bdf2-f8924642e273" xlink:to="loc_us-gaap_PreferredStockSharesIssued_995907b4-a3b1-426e-ab50-1e138ba4b404" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_c2d23c00-e8e5-4efe-b381-1aea22316866" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_6040f554-c326-46ec-bdf2-f8924642e273" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_c2d23c00-e8e5-4efe-b381-1aea22316866" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_3b9cbaa0-6a0f-4e04-909a-8f4bb6548f01" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_6040f554-c326-46ec-bdf2-f8924642e273" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_3b9cbaa0-6a0f-4e04-909a-8f4bb6548f01" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_fae3a790-7a00-4ec1-9d71-cbecc6f219bb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_6040f554-c326-46ec-bdf2-f8924642e273" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_fae3a790-7a00-4ec1-9d71-cbecc6f219bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_3b123e77-af27-46a5-a1e0-8e5a1b71c1db" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_6040f554-c326-46ec-bdf2-f8924642e273" xlink:to="loc_us-gaap_CommonStockSharesIssued_3b123e77-af27-46a5-a1e0-8e5a1b71c1db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_74024e18-c08c-46b0-bd5a-3b517b412031" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_6040f554-c326-46ec-bdf2-f8924642e273" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_74024e18-c08c-46b0-bd5a-3b517b412031" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" xlink:type="simple" xlink:href="calx-20211002.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract_d8c11986-d688-4468-a39a-bbd8c62a66e2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_ad0633a1-7d66-4553-975a-8e21215cef0f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d8c11986-d688-4468-a39a-bbd8c62a66e2" xlink:to="loc_us-gaap_StatementTable_ad0633a1-7d66-4553-975a-8e21215cef0f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_dcdf3aad-75f2-4cc5-8ae2-4351deb489be" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_ad0633a1-7d66-4553-975a-8e21215cef0f" xlink:to="loc_srt_ProductOrServiceAxis_dcdf3aad-75f2-4cc5-8ae2-4351deb489be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_5c6a0418-8b5a-47f0-a03b-b55d467b5c3f" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_dcdf3aad-75f2-4cc5-8ae2-4351deb489be" xlink:to="loc_srt_ProductsAndServicesDomain_5c6a0418-8b5a-47f0-a03b-b55d467b5c3f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_SystemsProductMember_eb303391-ad7f-4390-a535-97afe480bb4d" xlink:href="calx-20211002.xsd#calx_SystemsProductMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_5c6a0418-8b5a-47f0-a03b-b55d467b5c3f" xlink:to="loc_calx_SystemsProductMember_eb303391-ad7f-4390-a535-97afe480bb4d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TechnologyServiceMember_a8bcebd4-10c3-478f-8e6f-5e350ee62436" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TechnologyServiceMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_5c6a0418-8b5a-47f0-a03b-b55d467b5c3f" xlink:to="loc_us-gaap_TechnologyServiceMember_a8bcebd4-10c3-478f-8e6f-5e350ee62436" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_ad0633a1-7d66-4553-975a-8e21215cef0f" xlink:to="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenuesAbstract_be48e5b7-849d-416b-b8b2-765d7251277d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenuesAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_RevenuesAbstract_be48e5b7-849d-416b-b8b2-765d7251277d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_77aa53a2-33bf-4494-ae68-b52b5891b6f3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenuesAbstract_be48e5b7-849d-416b-b8b2-765d7251277d" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_77aa53a2-33bf-4494-ae68-b52b5891b6f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenueAbstract_23b84ba1-7343-4d7b-bacf-9a639f9785cb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostOfRevenueAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_CostOfRevenueAbstract_23b84ba1-7343-4d7b-bacf-9a639f9785cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_482b269c-7b1c-49bd-804d-32c42981379b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CostOfRevenueAbstract_23b84ba1-7343-4d7b-bacf-9a639f9785cb" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_482b269c-7b1c-49bd-804d-32c42981379b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_df257ee8-a9d8-45b1-b9d0-f752e5185d56" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GrossProfit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_GrossProfit_df257ee8-a9d8-45b1-b9d0-f752e5185d56" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpensesAbstract_39a99de2-18af-43bb-a0a0-cb961ba0f0f9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingExpensesAbstract"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_OperatingExpensesAbstract_39a99de2-18af-43bb-a0a0-cb961ba0f0f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense_1d6751fa-f5b8-4f98-8a22-76091b5ee51c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_39a99de2-18af-43bb-a0a0-cb961ba0f0f9" xlink:to="loc_us-gaap_SellingAndMarketingExpense_1d6751fa-f5b8-4f98-8a22-76091b5ee51c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_cca7fd9e-942b-4e11-8bf1-7cce495c069d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_39a99de2-18af-43bb-a0a0-cb961ba0f0f9" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_cca7fd9e-942b-4e11-8bf1-7cce495c069d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_4c76e8f0-da7e-4d8c-aa84-bae424a01650" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_39a99de2-18af-43bb-a0a0-cb961ba0f0f9" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_4c76e8f0-da7e-4d8c-aa84-bae424a01650" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_98fce3e7-14ec-46cd-ba90-7dcb7ba884bb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringCharges"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_39a99de2-18af-43bb-a0a0-cb961ba0f0f9" xlink:to="loc_us-gaap_RestructuringCharges_98fce3e7-14ec-46cd-ba90-7dcb7ba884bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_e3a438af-6bee-46b4-8ab3-281551021f6a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingExpenses"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_39a99de2-18af-43bb-a0a0-cb961ba0f0f9" xlink:to="loc_us-gaap_OperatingExpenses_e3a438af-6bee-46b4-8ab3-281551021f6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_a9650a46-13b0-4b0e-b2ad-ecff2fdd1488" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_OperatingIncomeLoss_a9650a46-13b0-4b0e-b2ad-ecff2fdd1488" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonoperatingIncomeExpenseAbstract_db56c5ca-36a4-48d1-95a5-6c546d39d729" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NonoperatingIncomeExpenseAbstract"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_NonoperatingIncomeExpenseAbstract_db56c5ca-36a4-48d1-95a5-6c546d39d729" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNonoperatingNet_2dff77d2-5a12-49c4-afb0-11958010b41f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_db56c5ca-36a4-48d1-95a5-6c546d39d729" xlink:to="loc_us-gaap_InterestIncomeExpenseNonoperatingNet_2dff77d2-5a12-49c4-afb0-11958010b41f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_2140e1cb-4d8c-49bb-89e0-2e70fc4539df" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_db56c5ca-36a4-48d1-95a5-6c546d39d729" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_2140e1cb-4d8c-49bb-89e0-2e70fc4539df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_InterestAndOtherIncomeExpenseNonoperating_909dbe64-ddd8-400f-b797-d47216fae775" xlink:href="calx-20211002.xsd#calx_InterestAndOtherIncomeExpenseNonoperating"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_db56c5ca-36a4-48d1-95a5-6c546d39d729" xlink:to="loc_calx_InterestAndOtherIncomeExpenseNonoperating_909dbe64-ddd8-400f-b797-d47216fae775" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_7d406396-3e0b-4797-a9ba-24250cce4523" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_7d406396-3e0b-4797-a9ba-24250cce4523" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_57008135-ede3-460a-a6f6-5c7524279df7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_57008135-ede3-460a-a6f6-5c7524279df7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss_bb91e8c3-47e7-4576-8500-4e76d513d366" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProfitLoss"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_ProfitLoss_bb91e8c3-47e7-4576-8500-4e76d513d366" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_fddf88e4-3744-4898-93b9-2d2e95c7deb5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_EarningsPerShareAbstract_fddf88e4-3744-4898-93b9-2d2e95c7deb5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_ca1980a2-d3ba-4cc5-9dab-0b7b5e129659" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_fddf88e4-3744-4898-93b9-2d2e95c7deb5" xlink:to="loc_us-gaap_EarningsPerShareBasic_ca1980a2-d3ba-4cc5-9dab-0b7b5e129659" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_ca7f464f-0db6-4b17-acc9-f7f2fd219854" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_fddf88e4-3744-4898-93b9-2d2e95c7deb5" xlink:to="loc_us-gaap_EarningsPerShareDiluted_ca7f464f-0db6-4b17-acc9-f7f2fd219854" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_406c4a63-db2b-46c5-98c3-19a3fede3bdc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_406c4a63-db2b-46c5-98c3-19a3fede3bdc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_8aedb503-074f-4fa7-b992-3ed61b09b380" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_406c4a63-db2b-46c5-98c3-19a3fede3bdc" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_8aedb503-074f-4fa7-b992-3ed61b09b380" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_56f459a4-b7b2-4855-afe0-bd161ca7b2e6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_406c4a63-db2b-46c5-98c3-19a3fede3bdc" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_56f459a4-b7b2-4855-afe0-bd161ca7b2e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_0a23e964-1c42-468c-8662-49043eba0b8d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_0a23e964-1c42-468c-8662-49043eba0b8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_ebd1449a-9ed6-42be-ad91-8b71b90bff6d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_0a23e964-1c42-468c-8662-49043eba0b8d" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_ebd1449a-9ed6-42be-ad91-8b71b90bff6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_29b57cb6-ffdb-42a7-aa1d-7f0469909dd6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c98cfbe3-0df4-424f-9840-1fa2cd66451f" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_29b57cb6-ffdb-42a7-aa1d-7f0469909dd6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" xlink:type="simple" xlink:href="calx-20211002.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_c9dadff7-628f-404a-b6f7-cfd66204db3c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_ac1632f4-b323-4314-9dfb-656f36bc3fc7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_c9dadff7-628f-404a-b6f7-cfd66204db3c" xlink:to="loc_us-gaap_StatementTable_ac1632f4-b323-4314-9dfb-656f36bc3fc7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_f3c64817-f2fb-490c-a220-f94d9a12ac37" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_ac1632f4-b323-4314-9dfb-656f36bc3fc7" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_f3c64817-f2fb-490c-a220-f94d9a12ac37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_03806cae-902a-4054-9e0a-c108824186f2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_f3c64817-f2fb-490c-a220-f94d9a12ac37" xlink:to="loc_us-gaap_EquityComponentDomain_03806cae-902a-4054-9e0a-c108824186f2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_be217577-b0c2-400d-841e-3ec74f78bfce" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_03806cae-902a-4054-9e0a-c108824186f2" xlink:to="loc_us-gaap_CommonStockMember_be217577-b0c2-400d-841e-3ec74f78bfce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_87fcb8f7-8c7d-49d9-abdd-824880ed4a57" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_03806cae-902a-4054-9e0a-c108824186f2" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_87fcb8f7-8c7d-49d9-abdd-824880ed4a57" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_fcfdbdd7-3781-4baa-aa31-e1b1456d08c7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_03806cae-902a-4054-9e0a-c108824186f2" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_fcfdbdd7-3781-4baa-aa31-e1b1456d08c7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_4f2a9f62-85cb-441e-93b7-37c439104039" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_03806cae-902a-4054-9e0a-c108824186f2" xlink:to="loc_us-gaap_RetainedEarningsMember_4f2a9f62-85cb-441e-93b7-37c439104039" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockMember_d557ac38-9586-4022-ae64-74f72645c65d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_03806cae-902a-4054-9e0a-c108824186f2" xlink:to="loc_us-gaap_TreasuryStockMember_d557ac38-9586-4022-ae64-74f72645c65d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_b50be5e9-da7b-4c7b-9b85-8860131462f6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_ac1632f4-b323-4314-9dfb-656f36bc3fc7" xlink:to="loc_us-gaap_StatementLineItems_b50be5e9-da7b-4c7b-9b85-8860131462f6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_b50be5e9-da7b-4c7b-9b85-8860131462f6" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_1d237778-c39e-41ba-9f9c-8e01e4c21bb8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_1d237778-c39e-41ba-9f9c-8e01e4c21bb8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_4746e4bd-706e-4ca7-94ae-83021ca500da" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_StockholdersEquity_4746e4bd-706e-4ca7-94ae-83021ca500da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_b353dce7-b09c-4850-9841-bcbd74e0575c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_b353dce7-b09c-4850-9841-bcbd74e0575c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_2e8d32a8-e767-479c-a500-ad39e68a48df" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_2e8d32a8-e767-479c-a500-ad39e68a48df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_e1fc40ef-26e2-447c-91c9-dcf5270e1bb8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_e1fc40ef-26e2-447c-91c9-dcf5270e1bb8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_181d7d8a-5ee3-41dc-b4d9-352f830717ba" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_181d7d8a-5ee3-41dc-b4d9-352f830717ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues_bc19583d-2ade-46c7-8316-4b33bafd7ba5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues_bc19583d-2ade-46c7-8316-4b33bafd7ba5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_aaabb603-39a9-4708-b4fc-33321f1981e9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_aaabb603-39a9-4708-b4fc-33321f1981e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss_388ee7cf-23b7-4928-bb6d-6c6cc79e194b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProfitLoss"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_ProfitLoss_388ee7cf-23b7-4928-bb6d-6c6cc79e194b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_72959761-a240-4ad6-853b-fa13d10e4594" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_72959761-a240-4ad6-853b-fa13d10e4594" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_65aeecbb-ff3b-4209-b7d7-947e4c08873f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_65aeecbb-ff3b-4209-b7d7-947e4c08873f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_9c03d70a-4c76-4903-b87f-4c90686fd767" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_c3cc0ce1-0d1c-4550-8328-8771df5636f0" xlink:to="loc_us-gaap_StockholdersEquity_9c03d70a-4c76-4903-b87f-4c90686fd767" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="simple" xlink:href="calx-20211002.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_6e2245b4-9f9a-40be-b58e-9f5f669e4579" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_b5b89f95-7a3f-420b-8760-6d636239fdb2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_6e2245b4-9f9a-40be-b58e-9f5f669e4579" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_b5b89f95-7a3f-420b-8760-6d636239fdb2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss_a537f40e-c9f6-4e12-b317-b74f3cd56295" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProfitLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_b5b89f95-7a3f-420b-8760-6d636239fdb2" xlink:to="loc_us-gaap_ProfitLoss_a537f40e-c9f6-4e12-b317-b74f3cd56295" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_5940635e-95cc-4342-ad88-dacf7fff08e3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_b5b89f95-7a3f-420b-8760-6d636239fdb2" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_5940635e-95cc-4342-ad88-dacf7fff08e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_1141daa3-659d-426c-a48e-d41bab92f620" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensation"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_5940635e-95cc-4342-ad88-dacf7fff08e3" xlink:to="loc_us-gaap_ShareBasedCompensation_1141daa3-659d-426c-a48e-d41bab92f620" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_0a7ac88f-9659-4e39-8504-bea44f3e4fe0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Depreciation"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_5940635e-95cc-4342-ad88-dacf7fff08e3" xlink:to="loc_us-gaap_Depreciation_0a7ac88f-9659-4e39-8504-bea44f3e4fe0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_0c9c6ed0-4827-4193-8f31-28689965f034" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_5940635e-95cc-4342-ad88-dacf7fff08e3" xlink:to="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_0c9c6ed0-4827-4193-8f31-28689965f034" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetImpairmentCharges_01fe84a6-36ed-4672-a044-717064c1c054" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetImpairmentCharges"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_5940635e-95cc-4342-ad88-dacf7fff08e3" xlink:to="loc_us-gaap_AssetImpairmentCharges_01fe84a6-36ed-4672-a044-717064c1c054" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_553331ff-b785-45d1-9eb2-c6ce20112262" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_5940635e-95cc-4342-ad88-dacf7fff08e3" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_553331ff-b785-45d1-9eb2-c6ce20112262" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_dc5aebf6-0c88-43fa-a042-ae5342ad1233" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_553331ff-b785-45d1-9eb2-c6ce20112262" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_dc5aebf6-0c88-43fa-a042-ae5342ad1233" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_6cae8d22-d0ab-4e17-b286-80bc5c9e48f9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_553331ff-b785-45d1-9eb2-c6ce20112262" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_6cae8d22-d0ab-4e17-b286-80bc5c9e48f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_062c7477-357a-4035-a441-980579166a67" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_553331ff-b785-45d1-9eb2-c6ce20112262" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_062c7477-357a-4035-a441-980579166a67" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_026c5949-bf72-4bdc-9e6e-05ed5b6d4245" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_553331ff-b785-45d1-9eb2-c6ce20112262" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_026c5949-bf72-4bdc-9e6e-05ed5b6d4245" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_9855ff24-5441-415f-8f21-8a4019f00693" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_553331ff-b785-45d1-9eb2-c6ce20112262" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_9855ff24-5441-415f-8f21-8a4019f00693" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_169c040b-2871-4c97-93f5-a001138add68" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_553331ff-b785-45d1-9eb2-c6ce20112262" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_169c040b-2871-4c97-93f5-a001138add68" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_544ae955-9baa-4184-92ad-93c100a88590" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_553331ff-b785-45d1-9eb2-c6ce20112262" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_544ae955-9baa-4184-92ad-93c100a88590" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_5d02b075-fd59-42cc-a815-dfb42478be36" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_b5b89f95-7a3f-420b-8760-6d636239fdb2" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_5d02b075-fd59-42cc-a815-dfb42478be36" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_fc4e97aa-857b-4cd7-a02e-c846769fc7c6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_6e2245b4-9f9a-40be-b58e-9f5f669e4579" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_fc4e97aa-857b-4cd7-a02e-c846769fc7c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_ddaaa49b-5b98-484c-8a6f-dcfcbc5d6920" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_fc4e97aa-857b-4cd7-a02e-c846769fc7c6" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_ddaaa49b-5b98-484c-8a6f-dcfcbc5d6920" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_ddcc1d66-607b-4495-bdfd-f316752957a4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_fc4e97aa-857b-4cd7-a02e-c846769fc7c6" xlink:to="loc_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_ddcc1d66-607b-4495-bdfd-f316752957a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_3a7369d4-dfce-47d2-b6f9-87ace75d5b2f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_fc4e97aa-857b-4cd7-a02e-c846769fc7c6" xlink:to="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_3a7369d4-dfce-47d2-b6f9-87ace75d5b2f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_c63cab1f-6a42-46db-b37a-5d5d2e080fed" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_fc4e97aa-857b-4cd7-a02e-c846769fc7c6" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_c63cab1f-6a42-46db-b37a-5d5d2e080fed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a9550b13-ed4b-4ccb-8c0d-80318a4fae70" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_6e2245b4-9f9a-40be-b58e-9f5f669e4579" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a9550b13-ed4b-4ccb-8c0d-80318a4fae70" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised_912c0c70-01b5-4d9e-954a-1cb9a98d1a26" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a9550b13-ed4b-4ccb-8c0d-80318a4fae70" xlink:to="loc_us-gaap_ProceedsFromStockOptionsExercised_912c0c70-01b5-4d9e-954a-1cb9a98d1a26" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_PaymentsForFinancingArrangements_366c398c-5b4a-4c27-817d-d5de8a4709bc" xlink:href="calx-20211002.xsd#calx_PaymentsForFinancingArrangements"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a9550b13-ed4b-4ccb-8c0d-80318a4fae70" xlink:to="loc_calx_PaymentsForFinancingArrangements_366c398c-5b4a-4c27-817d-d5de8a4709bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfCommonStock_ebd27cac-4186-4386-a0aa-62a10bcce001" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a9550b13-ed4b-4ccb-8c0d-80318a4fae70" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfCommonStock_ebd27cac-4186-4386-a0aa-62a10bcce001" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLinesOfCredit_396f44ba-26f1-448e-89bf-a2a7eea01259" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromLinesOfCredit"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a9550b13-ed4b-4ccb-8c0d-80318a4fae70" xlink:to="loc_us-gaap_ProceedsFromLinesOfCredit_396f44ba-26f1-448e-89bf-a2a7eea01259" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLinesOfCredit_d962dadb-fcc3-45cb-8dab-59c990a2105d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RepaymentsOfLinesOfCredit"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a9550b13-ed4b-4ccb-8c0d-80318a4fae70" xlink:to="loc_us-gaap_RepaymentsOfLinesOfCredit_d962dadb-fcc3-45cb-8dab-59c990a2105d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDebtIssuanceCosts_80173702-d576-43f3-b191-bf3e5cafa242" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsOfDebtIssuanceCosts"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a9550b13-ed4b-4ccb-8c0d-80318a4fae70" xlink:to="loc_us-gaap_PaymentsOfDebtIssuanceCosts_80173702-d576-43f3-b191-bf3e5cafa242" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_0a6e6401-eece-4c11-a756-6973f15d53a8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a9550b13-ed4b-4ccb-8c0d-80318a4fae70" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_0a6e6401-eece-4c11-a756-6973f15d53a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_e403da28-6cdc-42a5-86d6-90d74291c17a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_6e2245b4-9f9a-40be-b58e-9f5f669e4579" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_e403da28-6cdc-42a5-86d6-90d74291c17a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_802c3870-4120-4fcc-bc9b-c797ce265592" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_6e2245b4-9f9a-40be-b58e-9f5f669e4579" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_802c3870-4120-4fcc-bc9b-c797ce265592" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_320827d9-66de-41df-a2df-a2cd3f637dd6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_6e2245b4-9f9a-40be-b58e-9f5f669e4579" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_320827d9-66de-41df-a2df-a2cd3f637dd6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_b0185a8f-6314-420e-8d41-319896524f29" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_6e2245b4-9f9a-40be-b58e-9f5f669e4579" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_b0185a8f-6314-420e-8d41-319896524f29" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CompanyandBasisofPresentation" xlink:type="simple" xlink:href="calx-20211002.xsd#CompanyandBasisofPresentation"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/CompanyandBasisofPresentation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_bbdf65fe-be13-4503-b8fe-c3ba14c4266b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_d679cbc1-714c-40fb-a0e9-19a47f4f14d8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_bbdf65fe-be13-4503-b8fe-c3ba14c4266b" xlink:to="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_d679cbc1-714c-40fb-a0e9-19a47f4f14d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/SignificantAccountingPolicies" xlink:type="simple" xlink:href="calx-20211002.xsd#SignificantAccountingPolicies"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/SignificantAccountingPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_167f94c0-7864-486d-a049-943e00a6fd63" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock_2c949da1-d8e8-4279-b8e1-8f6d0e6e74f3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_167f94c0-7864-486d-a049-943e00a6fd63" xlink:to="loc_us-gaap_SignificantAccountingPoliciesTextBlock_2c949da1-d8e8-4279-b8e1-8f6d0e6e74f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/SignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="calx-20211002.xsd#SignificantAccountingPoliciesPolicies"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/SignificantAccountingPoliciesPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_c6ac5537-85f9-44be-9c9d-3ba4566fc91d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_47f0be66-fcfc-45a3-8bbf-62954f33d90e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_c6ac5537-85f9-44be-9c9d-3ba4566fc91d" xlink:to="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_47f0be66-fcfc-45a3-8bbf-62954f33d90e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesPolicyTextBlock_f2764a7b-9299-48fe-a2f1-99068d67fbb8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_c6ac5537-85f9-44be-9c9d-3ba4566fc91d" xlink:to="loc_us-gaap_CommitmentsAndContingenciesPolicyTextBlock_f2764a7b-9299-48fe-a2f1-99068d67fbb8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_7bdf9f11-e358-4cfc-885a-f2a12bc63aa5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_c6ac5537-85f9-44be-9c9d-3ba4566fc91d" xlink:to="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_7bdf9f11-e358-4cfc-885a-f2a12bc63aa5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRecognitionPolicyTextBlock_db4a449d-cfd4-4d2a-84ec-674e5e5c0de5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueRecognitionPolicyTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_c6ac5537-85f9-44be-9c9d-3ba4566fc91d" xlink:to="loc_us-gaap_RevenueRecognitionPolicyTextBlock_db4a449d-cfd4-4d2a-84ec-674e5e5c0de5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CashCashEquivalentsandMarketableSecurities" xlink:type="simple" xlink:href="calx-20211002.xsd#CashCashEquivalentsandMarketableSecurities"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/CashCashEquivalentsandMarketableSecurities" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_5ce0bcf2-b765-44a7-95d7-27b1b676a69c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock_9a379d67-5ae2-4157-a98e-dbd6353152d8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_5ce0bcf2-b765-44a7-95d7-27b1b676a69c" xlink:to="loc_us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock_9a379d67-5ae2-4157-a98e-dbd6353152d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CashCashEquivalentsandRestrictedCashTables" xlink:type="simple" xlink:href="calx-20211002.xsd#CashCashEquivalentsandRestrictedCashTables"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/CashCashEquivalentsandRestrictedCashTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_b4d44771-d8d3-4460-a80e-d58006ff7a4d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock_5bde4884-2cb7-4403-a3e1-fa1b6af96cdd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_b4d44771-d8d3-4460-a80e-d58006ff7a4d" xlink:to="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock_5bde4884-2cb7-4403-a3e1-fa1b6af96cdd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#CashCashEquivalentsandMarketableSecuritiesDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_7d9d214b-b303-4b72-947a-88aca20bb4a3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTable_46909823-f201-4186-af6e-8781051a47d4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_7d9d214b-b303-4b72-947a-88aca20bb4a3" xlink:to="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTable_46909823-f201-4186-af6e-8781051a47d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis_567dd72b-a9fa-4a85-a4fc-f1800b73d8cc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTable_46909823-f201-4186-af6e-8781051a47d4" xlink:to="loc_us-gaap_CashAndCashEquivalentsAxis_567dd72b-a9fa-4a85-a4fc-f1800b73d8cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_03fad9bd-72a8-4052-ac27-d91acd384c88" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_567dd72b-a9fa-4a85-a4fc-f1800b73d8cc" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_03fad9bd-72a8-4052-ac27-d91acd384c88" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashMember_0e0fbdeb-e083-4e5a-a197-599fb6672176" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_03fad9bd-72a8-4052-ac27-d91acd384c88" xlink:to="loc_us-gaap_CashMember_0e0fbdeb-e083-4e5a-a197-599fb6672176" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_7fd277e2-524c-487b-9b9c-79c47d525089" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommercialPaperMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_03fad9bd-72a8-4052-ac27-d91acd384c88" xlink:to="loc_us-gaap_CommercialPaperMember_7fd277e2-524c-487b-9b9c-79c47d525089" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsMember_aa66b146-1944-4fd0-ada4-a9e6c3c43e0d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MoneyMarketFundsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_03fad9bd-72a8-4052-ac27-d91acd384c88" xlink:to="loc_us-gaap_MoneyMarketFundsMember_aa66b146-1944-4fd0-ada4-a9e6c3c43e0d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalNotesMember_b66d1db1-e8b1-41e3-91cc-3787b31fc20a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MunicipalNotesMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_03fad9bd-72a8-4052-ac27-d91acd384c88" xlink:to="loc_us-gaap_MunicipalNotesMember_b66d1db1-e8b1-41e3-91cc-3787b31fc20a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentDebtSecuritiesMember_8268b3c3-b9ea-45d4-9598-bb374828b577" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_USGovernmentDebtSecuritiesMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_03fad9bd-72a8-4052-ac27-d91acd384c88" xlink:to="loc_us-gaap_USGovernmentDebtSecuritiesMember_8268b3c3-b9ea-45d4-9598-bb374828b577" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_b6c09f8e-4fc1-4db3-875f-b62fdab68eb9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTable_46909823-f201-4186-af6e-8781051a47d4" xlink:to="loc_us-gaap_FinancialInstrumentAxis_b6c09f8e-4fc1-4db3-875f-b62fdab68eb9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_3b9ab65a-7f5d-42e6-8aa4-c3d6a1e42c89" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_b6c09f8e-4fc1-4db3-875f-b62fdab68eb9" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_3b9ab65a-7f5d-42e6-8aa4-c3d6a1e42c89" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_06349424-b24c-4695-b979-95f912a6801d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommercialPaperMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_3b9ab65a-7f5d-42e6-8aa4-c3d6a1e42c89" xlink:to="loc_us-gaap_CommercialPaperMember_06349424-b24c-4695-b979-95f912a6801d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_1482d27a-1f03-4a93-a73f-5d449ac09a03" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_USGovernmentAgenciesDebtSecuritiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_3b9ab65a-7f5d-42e6-8aa4-c3d6a1e42c89" xlink:to="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_1482d27a-1f03-4a93-a73f-5d449ac09a03" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateDebtSecuritiesMember_046d3390-0cbe-436d-a7b3-d9693a916672" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CorporateDebtSecuritiesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_3b9ab65a-7f5d-42e6-8aa4-c3d6a1e42c89" xlink:to="loc_us-gaap_CorporateDebtSecuritiesMember_046d3390-0cbe-436d-a7b3-d9693a916672" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentDebtSecuritiesMember_a35479f9-325f-4fc3-b81c-4ab31b351816" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_USGovernmentDebtSecuritiesMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_3b9ab65a-7f5d-42e6-8aa4-c3d6a1e42c89" xlink:to="loc_us-gaap_USGovernmentDebtSecuritiesMember_a35479f9-325f-4fc3-b81c-4ab31b351816" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalNotesMember_bca71b64-a771-4add-8ecf-6f45e910df13" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MunicipalNotesMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_3b9ab65a-7f5d-42e6-8aa4-c3d6a1e42c89" xlink:to="loc_us-gaap_MunicipalNotesMember_bca71b64-a771-4add-8ecf-6f45e910df13" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsLineItems_6434b737-5e9f-48a0-a6f9-9fbb8fdcfe17" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTable_46909823-f201-4186-af6e-8781051a47d4" xlink:to="loc_us-gaap_CashAndCashEquivalentsLineItems_6434b737-5e9f-48a0-a6f9-9fbb8fdcfe17" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_7a73e7d7-1ed7-4948-8bf9-1d54ec1f97c4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_6434b737-5e9f-48a0-a6f9-9fbb8fdcfe17" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_7a73e7d7-1ed7-4948-8bf9-1d54ec1f97c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2062a169-b6c2-4e16-81a7-fce55d3c9290" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_6434b737-5e9f-48a0-a6f9-9fbb8fdcfe17" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2062a169-b6c2-4e16-81a7-fce55d3c9290" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_CashCashEquivalentsAndMarketableSecurities_b37d4b8b-a2b6-4f3a-b5e7-5b94d6ea9c8a" xlink:href="calx-20211002.xsd#calx_CashCashEquivalentsAndMarketableSecurities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_6434b737-5e9f-48a0-a6f9-9fbb8fdcfe17" xlink:to="loc_calx_CashCashEquivalentsAndMarketableSecurities_b37d4b8b-a2b6-4f3a-b5e7-5b94d6ea9c8a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/FairValueMeasurements" xlink:type="simple" xlink:href="calx-20211002.xsd#FairValueMeasurements"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/FairValueMeasurements" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_d2353009-11f7-4697-a12f-6b1a75048963" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock_77370363-e15d-4493-86b9-1ba3b1da16d1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_d2353009-11f7-4697-a12f-6b1a75048963" xlink:to="loc_us-gaap_FairValueDisclosuresTextBlock_77370363-e15d-4493-86b9-1ba3b1da16d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/FairValueMeasuresandDisclosuresTables" xlink:type="simple" xlink:href="calx-20211002.xsd#FairValueMeasuresandDisclosuresTables"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/FairValueMeasuresandDisclosuresTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_813b5dc9-e6b7-4bfb-89ae-ff8c0216d375" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_01cb7d69-4b95-4620-a9f4-09443d40a4ba" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_813b5dc9-e6b7-4bfb-89ae-ff8c0216d375" xlink:to="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_01cb7d69-4b95-4620-a9f4-09443d40a4ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#FairValueMeasuresandDisclosuresDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_bae43d6b-c6b0-481a-b8be-b4cf3477218f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ca92cbe9-bcef-4a1a-b884-8447ba8472fd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_bae43d6b-c6b0-481a-b8be-b4cf3477218f" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ca92cbe9-bcef-4a1a-b884-8447ba8472fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_7cbbb8e6-0d53-4d50-ae71-84122dc29ee7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ca92cbe9-bcef-4a1a-b884-8447ba8472fd" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_7cbbb8e6-0d53-4d50-ae71-84122dc29ee7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_c9dbabf8-f950-46a8-9dcc-f34bb54cf0f3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_7cbbb8e6-0d53-4d50-ae71-84122dc29ee7" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_c9dbabf8-f950-46a8-9dcc-f34bb54cf0f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_ed2e2142-10a3-4c15-8848-17e9475d10ef" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_c9dbabf8-f950-46a8-9dcc-f34bb54cf0f3" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_ed2e2142-10a3-4c15-8848-17e9475d10ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis_9c344024-aadf-47ec-9d1c-7edf829db01c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ca92cbe9-bcef-4a1a-b884-8447ba8472fd" xlink:to="loc_us-gaap_CashAndCashEquivalentsAxis_9c344024-aadf-47ec-9d1c-7edf829db01c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_e38587a8-25e4-444a-91c7-ae88663a69fd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_9c344024-aadf-47ec-9d1c-7edf829db01c" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_e38587a8-25e4-444a-91c7-ae88663a69fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsMember_999b5935-eaad-49ca-92ce-687020b30023" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MoneyMarketFundsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_e38587a8-25e4-444a-91c7-ae88663a69fd" xlink:to="loc_us-gaap_MoneyMarketFundsMember_999b5935-eaad-49ca-92ce-687020b30023" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_148a31e7-9854-48a5-9299-3aaf9ce29302" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ca92cbe9-bcef-4a1a-b884-8447ba8472fd" xlink:to="loc_us-gaap_FinancialInstrumentAxis_148a31e7-9854-48a5-9299-3aaf9ce29302" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a8b05380-f752-48d4-847c-4b13754071bd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_148a31e7-9854-48a5-9299-3aaf9ce29302" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a8b05380-f752-48d4-847c-4b13754071bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentDebtSecuritiesMember_0cd73517-9566-4e11-ae1b-2949c31524cc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_USGovernmentDebtSecuritiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a8b05380-f752-48d4-847c-4b13754071bd" xlink:to="loc_us-gaap_USGovernmentDebtSecuritiesMember_0cd73517-9566-4e11-ae1b-2949c31524cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_26487779-e406-41ee-8829-cb115328f209" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommercialPaperMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a8b05380-f752-48d4-847c-4b13754071bd" xlink:to="loc_us-gaap_CommercialPaperMember_26487779-e406-41ee-8829-cb115328f209" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_0961128e-795c-4de6-a8b2-3131f63f8794" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_USGovernmentAgenciesDebtSecuritiesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a8b05380-f752-48d4-847c-4b13754071bd" xlink:to="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_0961128e-795c-4de6-a8b2-3131f63f8794" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateDebtSecuritiesMember_fd389207-a9c4-43b6-bb55-91e4bbcdf1ca" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CorporateDebtSecuritiesMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a8b05380-f752-48d4-847c-4b13754071bd" xlink:to="loc_us-gaap_CorporateDebtSecuritiesMember_fd389207-a9c4-43b6-bb55-91e4bbcdf1ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalNotesMember_ff1f43d3-fde4-4fe0-90e9-74d22bd63207" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MunicipalNotesMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a8b05380-f752-48d4-847c-4b13754071bd" xlink:to="loc_us-gaap_MunicipalNotesMember_ff1f43d3-fde4-4fe0-90e9-74d22bd63207" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_3a670b6d-53bc-449c-a1bf-20e4868a8fc0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ca92cbe9-bcef-4a1a-b884-8447ba8472fd" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_3a670b6d-53bc-449c-a1bf-20e4868a8fc0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_8a09e83d-485f-46a9-b236-0b811598a3fa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_3a670b6d-53bc-449c-a1bf-20e4868a8fc0" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_8a09e83d-485f-46a9-b236-0b811598a3fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_d7b5784d-c810-4eaf-a858-0f2d6b8f2ad8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_8a09e83d-485f-46a9-b236-0b811598a3fa" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_d7b5784d-c810-4eaf-a858-0f2d6b8f2ad8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_985a497c-849c-4a09-bc34-5c517b83df81" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_8a09e83d-485f-46a9-b236-0b811598a3fa" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_985a497c-849c-4a09-bc34-5c517b83df81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_835bc3e0-dc75-46e5-a31f-9365ff8ac513" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ca92cbe9-bcef-4a1a-b884-8447ba8472fd" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_835bc3e0-dc75-46e5-a31f-9365ff8ac513" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_40096e2f-2c16-42aa-8140-d9be88370224" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_835bc3e0-dc75-46e5-a31f-9365ff8ac513" xlink:to="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_40096e2f-2c16-42aa-8140-d9be88370224" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_bcec4c09-d849-4e73-ae58-d6044a286e1a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_835bc3e0-dc75-46e5-a31f-9365ff8ac513" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_bcec4c09-d849-4e73-ae58-d6044a286e1a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_24a2999f-b0a6-45da-a846-28822cba13cd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_835bc3e0-dc75-46e5-a31f-9365ff8ac513" xlink:to="loc_us-gaap_AssetsFairValueDisclosure_24a2999f-b0a6-45da-a846-28822cba13cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/BalanceSheetDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#BalanceSheetDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/BalanceSheetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_ace363c9-3c19-49a6-b9d8-d9219d06a0d3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_14419b89-770e-44a8-8d73-56312205809b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_ace363c9-3c19-49a6-b9d8-d9219d06a0d3" xlink:to="loc_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_14419b89-770e-44a8-8d73-56312205809b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/BalanceSheetDetailsTables" xlink:type="simple" xlink:href="calx-20211002.xsd#BalanceSheetDetailsTables"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/BalanceSheetDetailsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_e487c083-eb0a-473d-b06e-7e721af6b8d1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_1549958c-4315-4d7d-97a9-9f90b20d6330" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_e487c083-eb0a-473d-b06e-7e721af6b8d1" xlink:to="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_1549958c-4315-4d7d-97a9-9f90b20d6330" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_2c413e8f-419c-4a51-a8b3-3dca62bd16c3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_e487c083-eb0a-473d-b06e-7e721af6b8d1" xlink:to="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_2c413e8f-419c-4a51-a8b3-3dca62bd16c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_c0c1a50e-485c-429b-8f70-58fc2314fdf7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_e487c083-eb0a-473d-b06e-7e721af6b8d1" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_c0c1a50e-485c-429b-8f70-58fc2314fdf7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock_83b92832-dd93-42cb-90eb-d9c2f2249086" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_e487c083-eb0a-473d-b06e-7e721af6b8d1" xlink:to="loc_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock_83b92832-dd93-42cb-90eb-d9c2f2249086" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_6cf268c9-be2e-4184-8f98-bbcf86e865d2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_e487c083-eb0a-473d-b06e-7e721af6b8d1" xlink:to="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_6cf268c9-be2e-4184-8f98-bbcf86e865d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_436e91b3-f522-4bc2-9fbb-519e7e92943d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_e487c083-eb0a-473d-b06e-7e721af6b8d1" xlink:to="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_436e91b3-f522-4bc2-9fbb-519e7e92943d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock_44f3abab-b5dc-44db-8c33-ee013deecc22" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_e487c083-eb0a-473d-b06e-7e721af6b8d1" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock_44f3abab-b5dc-44db-8c33-ee013deecc22" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#BalanceSheetDetailsAccountsReceivableDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_e7de4997-d946-46d2-903c-10e7c98962d4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrentAbstract_d47250cf-fa14-4048-acd9-bb9fc2f43b7f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableNetCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_e7de4997-d946-46d2-903c-10e7c98962d4" xlink:to="loc_us-gaap_AccountsReceivableNetCurrentAbstract_d47250cf-fa14-4048-acd9-bb9fc2f43b7f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableGrossCurrent_780c3a12-ab57-450d-b117-20823b29f7e3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableGrossCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountsReceivableNetCurrentAbstract_d47250cf-fa14-4048-acd9-bb9fc2f43b7f" xlink:to="loc_us-gaap_AccountsReceivableGrossCurrent_780c3a12-ab57-450d-b117-20823b29f7e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_cdad2dc3-d8ff-44af-98ec-2c64f4437fbf" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountsReceivableNetCurrentAbstract_d47250cf-fa14-4048-acd9-bb9fc2f43b7f" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_cdad2dc3-d8ff-44af-98ec-2c64f4437fbf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_97c60e19-53e7-4428-a041-261b5516572d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountsReceivableNetCurrentAbstract_d47250cf-fa14-4048-acd9-bb9fc2f43b7f" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_97c60e19-53e7-4428-a041-261b5516572d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/BalanceSheetDetailsInventoryDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#BalanceSheetDetailsInventoryDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/BalanceSheetDetailsInventoryDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_8f015b85-4332-4189-bb2d-fedd61a6341f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNetAbstract_97726ca0-92c3-4a1d-bf66-8c3f93234dd6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryNetAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_8f015b85-4332-4189-bb2d-fedd61a6341f" xlink:to="loc_us-gaap_InventoryNetAbstract_97726ca0-92c3-4a1d-bf66-8c3f93234dd6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_9a40cb4f-ebfb-4cba-ab70-8266fb2f886d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryNetAbstract_97726ca0-92c3-4a1d-bf66-8c3f93234dd6" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_9a40cb4f-ebfb-4cba-ab70-8266fb2f886d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_4680e273-a2ba-419f-9bf2-f5b74830336a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryNetAbstract_97726ca0-92c3-4a1d-bf66-8c3f93234dd6" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_4680e273-a2ba-419f-9bf2-f5b74830336a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_358afc3a-cbed-4269-8acf-a52d4ba12c2c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryNetAbstract_97726ca0-92c3-4a1d-bf66-8c3f93234dd6" xlink:to="loc_us-gaap_InventoryNet_358afc3a-cbed-4269-8acf-a52d4ba12c2c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#BalanceSheetDetailsPropertyandEquipmentnetDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_c2be7479-bf41-4416-9105-abd8d3f56807" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_7e775060-eff2-475c-b632-34b39689176b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_c2be7479-bf41-4416-9105-abd8d3f56807" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_7e775060-eff2-475c-b632-34b39689176b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_8e448275-877a-4cdf-b34b-30bf3b8b4751" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_7e775060-eff2-475c-b632-34b39689176b" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_8e448275-877a-4cdf-b34b-30bf3b8b4751" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_36ed6bdc-33f6-4b48-aee9-76bb1ab377bb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_8e448275-877a-4cdf-b34b-30bf3b8b4751" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_36ed6bdc-33f6-4b48-aee9-76bb1ab377bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquipmentMember_59c1393c-8c72-4d49-860a-f27416856aaa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquipmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_36ed6bdc-33f6-4b48-aee9-76bb1ab377bb" xlink:to="loc_us-gaap_EquipmentMember_59c1393c-8c72-4d49-860a-f27416856aaa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_SoftwareMember_d3bb9b29-4618-4908-96ee-de54a4fda80b" xlink:href="calx-20211002.xsd#calx_SoftwareMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_36ed6bdc-33f6-4b48-aee9-76bb1ab377bb" xlink:to="loc_calx_SoftwareMember_d3bb9b29-4618-4908-96ee-de54a4fda80b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember_c6eba870-27fe-4a90-bc66-d360ad27bd88" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_36ed6bdc-33f6-4b48-aee9-76bb1ab377bb" xlink:to="loc_us-gaap_ComputerEquipmentMember_c6eba870-27fe-4a90-bc66-d360ad27bd88" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_2223efac-6c92-4c72-9859-875c780b128c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_36ed6bdc-33f6-4b48-aee9-76bb1ab377bb" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_2223efac-6c92-4c72-9859-875c780b128c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_e0136dd1-58fd-4f3a-b61f-9e14e1152f10" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_36ed6bdc-33f6-4b48-aee9-76bb1ab377bb" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_e0136dd1-58fd-4f3a-b61f-9e14e1152f10" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_4fc85612-6391-4ce7-bf32-9e5c22bf015e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_7e775060-eff2-475c-b632-34b39689176b" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentLineItems_4fc85612-6391-4ce7-bf32-9e5c22bf015e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_b92f544d-c2f5-4c9b-847d-fc4f43f4c303" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_4fc85612-6391-4ce7-bf32-9e5c22bf015e" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_b92f544d-c2f5-4c9b-847d-fc4f43f4c303" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_0f0e7bb0-4b72-4a47-9a8d-173cb8a31c1b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_b92f544d-c2f5-4c9b-847d-fc4f43f4c303" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_0f0e7bb0-4b72-4a47-9a8d-173cb8a31c1b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_8ba8778c-b410-4428-b2c4-f20bb970b543" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_b92f544d-c2f5-4c9b-847d-fc4f43f4c303" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_8ba8778c-b410-4428-b2c4-f20bb970b543" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_3254bd6a-9e94-48b8-b58d-256107e26c76" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_b92f544d-c2f5-4c9b-847d-fc4f43f4c303" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_3254bd6a-9e94-48b8-b58d-256107e26c76" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#BalanceSheetDetailsLossonAssetRetirementDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_68bfa196-b898-4573-b1cf-883e97cec216" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_11312307-aefe-4ad9-9387-9e9d1a9b1009" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_68bfa196-b898-4573-b1cf-883e97cec216" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_11312307-aefe-4ad9-9387-9e9d1a9b1009" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_8bd18ed7-1321-4be0-b495-8b815451b6f5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_11312307-aefe-4ad9-9387-9e9d1a9b1009" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_8bd18ed7-1321-4be0-b495-8b815451b6f5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_ff76af53-8128-4a90-b445-b260a901c1ab" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_8bd18ed7-1321-4be0-b495-8b815451b6f5" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_ff76af53-8128-4a90-b445-b260a901c1ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerSoftwareIntangibleAssetMember_afe743f6-87bf-47ff-acf0-f668d0b74ea5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_ff76af53-8128-4a90-b445-b260a901c1ab" xlink:to="loc_us-gaap_ComputerSoftwareIntangibleAssetMember_afe743f6-87bf-47ff-acf0-f668d0b74ea5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_11312307-aefe-4ad9-9387-9e9d1a9b1009" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_a341ab05-c096-41dd-9b9d-550196fcff20" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_a341ab05-c096-41dd-9b9d-550196fcff20" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsMiscellaneousNoncurrent_824e39a5-f8e9-43d1-ae0b-4a17d01d1e78" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsMiscellaneousNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:to="loc_us-gaap_OtherAssetsMiscellaneousNoncurrent_824e39a5-f8e9-43d1-ae0b-4a17d01d1e78" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_236ca31d-4554-44fc-8252-fee1eebd224d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_236ca31d-4554-44fc-8252-fee1eebd224d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RoyaltyGuaranteesCommitmentsAmount_0efcd61d-b60f-46ec-ad0a-18dc95efc6df" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RoyaltyGuaranteesCommitmentsAmount"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:to="loc_us-gaap_RoyaltyGuaranteesCommitmentsAmount_0efcd61d-b60f-46ec-ad0a-18dc95efc6df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_d1c1802b-4dcd-4d28-80a9-a7a4b886493f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_d1c1802b-4dcd-4d28-80a9-a7a4b886493f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilities_eb42fb48-494f-4464-87cd-13824feabb18" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:to="loc_us-gaap_OtherLiabilities_eb42fb48-494f-4464-87cd-13824feabb18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_9d38b8c7-6fef-4604-9cfb-de037edb3fba" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_9d38b8c7-6fef-4604-9cfb-de037edb3fba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_521fc873-5890-4d3c-9cc9-107a74845862" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_521fc873-5890-4d3c-9cc9-107a74845862" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_6d8da489-4fa3-4819-bb37-08c0f4137d43" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_f7926fc4-065e-4807-ad3e-38b66fd50d01" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_6d8da489-4fa3-4819-bb37-08c0f4137d43" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#BalanceSheetDetailsAccruedLiabilitiesDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_aba69b23-77fb-4c45-8ec3-b70f7c52be83" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_c66fdc87-e454-46e3-923e-5990bac3643c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedLiabilitiesCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_aba69b23-77fb-4c45-8ec3-b70f7c52be83" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_c66fdc87-e454-46e3-923e-5990bac3643c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_45ca6732-7d48-4bd0-b81e-757314646083" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_c66fdc87-e454-46e3-923e-5990bac3643c" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_45ca6732-7d48-4bd0-b81e-757314646083" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_14884784-48a0-4402-a248-a795ad8b2f69" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_c66fdc87-e454-46e3-923e-5990bac3643c" xlink:to="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_14884784-48a0-4402-a248-a795ad8b2f69" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer_f8b09c3e-74f3-4241-8af6-7b6369ca687e" xlink:href="calx-20211002.xsd#calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_c66fdc87-e454-46e3-923e-5990bac3643c" xlink:to="loc_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer_f8b09c3e-74f3-4241-8af6-7b6369ca687e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedProfessionalFeesCurrent_01d37da4-d822-4806-8d16-02583615882b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedProfessionalFeesCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_c66fdc87-e454-46e3-923e-5990bac3643c" xlink:to="loc_us-gaap_AccruedProfessionalFeesCurrent_01d37da4-d822-4806-8d16-02583615882b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes_7daaf829-c3e8-4dd0-9e0c-9156b21d7eca" xlink:href="calx-20211002.xsd#calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_c66fdc87-e454-46e3-923e-5990bac3643c" xlink:to="loc_calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes_7daaf829-c3e8-4dd0-9e0c-9156b21d7eca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_RevenueShareObligationCurrent_5ef7077b-205f-4b04-9704-97d0ad4b0add" xlink:href="calx-20211002.xsd#calx_RevenueShareObligationCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_c66fdc87-e454-46e3-923e-5990bac3643c" xlink:to="loc_calx_RevenueShareObligationCurrent_5ef7077b-205f-4b04-9704-97d0ad4b0add" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AccruedCustomerRebates_fb253bcd-3504-4bcc-b05f-4e4f056427bb" xlink:href="calx-20211002.xsd#calx_AccruedCustomerRebates"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_c66fdc87-e454-46e3-923e-5990bac3643c" xlink:to="loc_calx_AccruedCustomerRebates_fb253bcd-3504-4bcc-b05f-4e4f056427bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_bab91664-16b5-4d72-ad6b-bd26c3f6441b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_c66fdc87-e454-46e3-923e-5990bac3643c" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_bab91664-16b5-4d72-ad6b-bd26c3f6441b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AccruedFreight_08b75365-de96-4ff7-a5d3-0e9180666c9e" xlink:href="calx-20211002.xsd#calx_AccruedFreight"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_c66fdc87-e454-46e3-923e-5990bac3643c" xlink:to="loc_calx_AccruedFreight_08b75365-de96-4ff7-a5d3-0e9180666c9e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ProductReturnReserveCurrent_2ed5621a-21e5-4ba1-8120-2f92ef18f4c8" xlink:href="calx-20211002.xsd#calx_ProductReturnReserveCurrent"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_c66fdc87-e454-46e3-923e-5990bac3643c" xlink:to="loc_calx_ProductReturnReserveCurrent_2ed5621a-21e5-4ba1-8120-2f92ef18f4c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveCurrent_326fed68-b9cb-4324-9f65-c08e51f3abb6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringReserveCurrent"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_c66fdc87-e454-46e3-923e-5990bac3643c" xlink:to="loc_us-gaap_RestructuringReserveCurrent_326fed68-b9cb-4324-9f65-c08e51f3abb6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_018d573c-e85c-430b-b534-50723070fac9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_c66fdc87-e454-46e3-923e-5990bac3643c" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_018d573c-e85c-430b-b534-50723070fac9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_378186cb-4b0f-4470-9dd3-004dc29f5716" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_c66fdc87-e454-46e3-923e-5990bac3643c" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_378186cb-4b0f-4470-9dd3-004dc29f5716" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/BalanceSheetDetailsWarrantyReserveDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#BalanceSheetDetailsWarrantyReserveDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/BalanceSheetDetailsWarrantyReserveDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_9602c934-3d25-4592-8c37-0fab1751e70c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_6740639f-b464-4115-bda2-9cb16ffc2616" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MovementInStandardProductWarrantyAccrualRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_9602c934-3d25-4592-8c37-0fab1751e70c" xlink:to="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_6740639f-b464-4115-bda2-9cb16ffc2616" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrual_a83bdc93-543a-43b7-a7f1-d7490ed46eb6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductWarrantyAccrual"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_6740639f-b464-4115-bda2-9cb16ffc2616" xlink:to="loc_us-gaap_ProductWarrantyAccrual_a83bdc93-543a-43b7-a7f1-d7490ed46eb6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_cd9298eb-0364-4f1d-bfeb-de92c47a3eb2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_6740639f-b464-4115-bda2-9cb16ffc2616" xlink:to="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_cd9298eb-0364-4f1d-bfeb-de92c47a3eb2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrualPayments_0df0a357-e182-4eca-bbab-6297d8bbb695" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductWarrantyAccrualPayments"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_6740639f-b464-4115-bda2-9cb16ffc2616" xlink:to="loc_us-gaap_ProductWarrantyAccrualPayments_0df0a357-e182-4eca-bbab-6297d8bbb695" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrual_e3ddecc8-0dd0-4b93-835d-387e68a93a87" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductWarrantyAccrual"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_6740639f-b464-4115-bda2-9cb16ffc2616" xlink:to="loc_us-gaap_ProductWarrantyAccrual_e3ddecc8-0dd0-4b93-835d-387e68a93a87" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#BalanceSheetDetailsRestructuringDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_6d5f4426-363f-40e7-8b91-6f0346f2f803" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_37f73751-f5d8-4d98-8759-185ac00884c6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_6d5f4426-363f-40e7-8b91-6f0346f2f803" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_37f73751-f5d8-4d98-8759-185ac00884c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveAxis_e25d10d1-2dc9-46a7-b77c-a0f3abb5d491" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringCostAndReserveAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_37f73751-f5d8-4d98-8759-185ac00884c6" xlink:to="loc_us-gaap_RestructuringCostAndReserveAxis_e25d10d1-2dc9-46a7-b77c-a0f3abb5d491" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_b4a3828c-26c4-41ec-abea-b7d70684bd23" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis_e25d10d1-2dc9-46a7-b77c-a0f3abb5d491" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_b4a3828c-26c4-41ec-abea-b7d70684bd23" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FacilityClosingMember_b642941e-15e4-4ea2-a2bc-928f7379744c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FacilityClosingMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_b4a3828c-26c4-41ec-abea-b7d70684bd23" xlink:to="loc_us-gaap_FacilityClosingMember_b642941e-15e4-4ea2-a2bc-928f7379744c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeSeveranceMember_a7c0e3f4-0779-4ec6-8001-5992ae94cd25" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeSeveranceMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_b4a3828c-26c4-41ec-abea-b7d70684bd23" xlink:to="loc_us-gaap_EmployeeSeveranceMember_a7c0e3f4-0779-4ec6-8001-5992ae94cd25" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringPlanAxis_285efddf-8582-4bc1-a05f-ca2eea84e990" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringPlanAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_37f73751-f5d8-4d98-8759-185ac00884c6" xlink:to="loc_us-gaap_RestructuringPlanAxis_285efddf-8582-4bc1-a05f-ca2eea84e990" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringPlanDomain_9291f48a-61c8-45ba-a04b-74ba65eee1d4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringPlanDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringPlanAxis_285efddf-8582-4bc1-a05f-ca2eea84e990" xlink:to="loc_us-gaap_RestructuringPlanDomain_9291f48a-61c8-45ba-a04b-74ba65eee1d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember_dc754a27-c7f6-4dbf-abb4-90f46074d3d5" xlink:href="calx-20211002.xsd#calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringPlanDomain_9291f48a-61c8-45ba-a04b-74ba65eee1d4" xlink:to="loc_calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember_dc754a27-c7f6-4dbf-abb4-90f46074d3d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_c6d48c35-aa03-49da-9ddc-86556b469e94" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_StatementGeographicalAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_37f73751-f5d8-4d98-8759-185ac00884c6" xlink:to="loc_srt_StatementGeographicalAxis_c6d48c35-aa03-49da-9ddc-86556b469e94" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_7ba90782-a5c4-42f3-9cb7-03a8ee3265fa" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementGeographicalAxis_c6d48c35-aa03-49da-9ddc-86556b469e94" xlink:to="loc_srt_SegmentGeographicalDomain_7ba90782-a5c4-42f3-9cb7-03a8ee3265fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_RichardsonTexasAndSanJoseCaliforniaMember_45129032-5af4-44b5-851d-1536038d2cba" xlink:href="calx-20211002.xsd#calx_RichardsonTexasAndSanJoseCaliforniaMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_7ba90782-a5c4-42f3-9cb7-03a8ee3265fa" xlink:to="loc_calx_RichardsonTexasAndSanJoseCaliforniaMember_45129032-5af4-44b5-851d-1536038d2cba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_6bf79286-8c6c-41dc-9fe7-edbd5f0ac935" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_37f73751-f5d8-4d98-8759-185ac00884c6" xlink:to="loc_us-gaap_RestructuringCostAndReserveLineItems_6bf79286-8c6c-41dc-9fe7-edbd5f0ac935" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_b802ca86-cf19-474f-b13d-8bb07f25884f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringCharges"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_6bf79286-8c6c-41dc-9fe7-edbd5f0ac935" xlink:to="loc_us-gaap_RestructuringCharges_b802ca86-cf19-474f-b13d-8bb07f25884f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AssetWriteOff_d19ea6f9-80b3-412b-9f77-f04dd7823ef1" xlink:href="calx-20211002.xsd#calx_AssetWriteOff"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_6bf79286-8c6c-41dc-9fe7-edbd5f0ac935" xlink:to="loc_calx_AssetWriteOff_d19ea6f9-80b3-412b-9f77-f04dd7823ef1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff_add7befa-b034-4ba1-994f-9147807f9952" xlink:href="calx-20211002.xsd#calx_AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_6bf79286-8c6c-41dc-9fe7-edbd5f0ac935" xlink:to="loc_calx_AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff_add7befa-b034-4ba1-994f-9147807f9952" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveRollForward_ca7f7dcb-bd3f-42e1-8f5e-a2d376dd576c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringReserveRollForward"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_6bf79286-8c6c-41dc-9fe7-edbd5f0ac935" xlink:to="loc_us-gaap_RestructuringReserveRollForward_ca7f7dcb-bd3f-42e1-8f5e-a2d376dd576c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_82038b70-fb08-47a2-a6cb-a8a4e13dc5de" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringReserve"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_ca7f7dcb-bd3f-42e1-8f5e-a2d376dd576c" xlink:to="loc_us-gaap_RestructuringReserve_82038b70-fb08-47a2-a6cb-a8a4e13dc5de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRestructuring_39e10245-3799-431a-8d88-205f02895748" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsForRestructuring"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_ca7f7dcb-bd3f-42e1-8f5e-a2d376dd576c" xlink:to="loc_us-gaap_PaymentsForRestructuring_39e10245-3799-431a-8d88-205f02895748" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_ab213b91-a3be-42bd-aa8a-253c964eb1c9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringReserve"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_ca7f7dcb-bd3f-42e1-8f5e-a2d376dd576c" xlink:to="loc_us-gaap_RestructuringReserve_ab213b91-a3be-42bd-aa8a-253c964eb1c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CreditAgreement" xlink:type="simple" xlink:href="calx-20211002.xsd#CreditAgreement"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/CreditAgreement" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityAbstract_d0e03d88-b7ca-4f6b-b19e-ca96ebe5d11a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureTextBlock_b79e48bc-ba2d-470e-90e6-960f225ec6a6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityAbstract_d0e03d88-b7ca-4f6b-b19e-ca96ebe5d11a" xlink:to="loc_us-gaap_DebtDisclosureTextBlock_b79e48bc-ba2d-470e-90e6-960f225ec6a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CreditAgreementsLineofCreditDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#CreditAgreementsLineofCreditDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/CreditAgreementsLineofCreditDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityAbstract_df34b417-c9bc-440b-901d-11a301d0808d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_c2066606-b246-47f0-a283-a8f63e32e12e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityAbstract_df34b417-c9bc-440b-901d-11a301d0808d" xlink:to="loc_us-gaap_DebtInstrumentTable_c2066606-b246-47f0-a283-a8f63e32e12e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityAxis_8bb01546-ed24-4417-afd7-0273f6d07333" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_c2066606-b246-47f0-a283-a8f63e32e12e" xlink:to="loc_us-gaap_LineOfCreditFacilityAxis_8bb01546-ed24-4417-afd7-0273f6d07333" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLenderDomain_41229f0c-e236-403e-867c-66c5847b6336" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityLenderDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityAxis_8bb01546-ed24-4417-afd7-0273f6d07333" xlink:to="loc_us-gaap_LineOfCreditFacilityLenderDomain_41229f0c-e236-403e-867c-66c5847b6336" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_BankOfAmericaMember_fd183db1-5d68-4832-b6de-96bbe3bcc5eb" xlink:href="calx-20211002.xsd#calx_BankOfAmericaMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLenderDomain_41229f0c-e236-403e-867c-66c5847b6336" xlink:to="loc_calx_BankOfAmericaMember_fd183db1-5d68-4832-b6de-96bbe3bcc5eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_54d0f603-9403-4f35-adfa-bfef42b486c3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VariableRateAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_c2066606-b246-47f0-a283-a8f63e32e12e" xlink:to="loc_us-gaap_VariableRateAxis_54d0f603-9403-4f35-adfa-bfef42b486c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_3e8f2315-2ad4-4b49-a20f-8ea36342886b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VariableRateDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateAxis_54d0f603-9403-4f35-adfa-bfef42b486c3" xlink:to="loc_us-gaap_VariableRateDomain_3e8f2315-2ad4-4b49-a20f-8ea36342886b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_48aba63c-14ca-4ab7-bf25-78d6f8b83f5e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_3e8f2315-2ad4-4b49-a20f-8ea36342886b" xlink:to="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_48aba63c-14ca-4ab7-bf25-78d6f8b83f5e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrimeRateMember_2b4ef27d-851f-409c-bc14-73429794122c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrimeRateMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_3e8f2315-2ad4-4b49-a20f-8ea36342886b" xlink:to="loc_us-gaap_PrimeRateMember_2b4ef27d-851f-409c-bc14-73429794122c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_81af5be8-22b7-4a2b-8920-495975c7d124" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_c2066606-b246-47f0-a283-a8f63e32e12e" xlink:to="loc_srt_RangeAxis_81af5be8-22b7-4a2b-8920-495975c7d124" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_ebfb3d66-d90c-4a82-9682-92bfa85dab75" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_81af5be8-22b7-4a2b-8920-495975c7d124" xlink:to="loc_srt_RangeMember_ebfb3d66-d90c-4a82-9682-92bfa85dab75" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_716fd280-3eb1-4049-b86c-22b0e013afef" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_ebfb3d66-d90c-4a82-9682-92bfa85dab75" xlink:to="loc_srt_MinimumMember_716fd280-3eb1-4049-b86c-22b0e013afef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_b55cc6f1-cfc0-4449-aa19-1bff0f31c9f8" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_ebfb3d66-d90c-4a82-9682-92bfa85dab75" xlink:to="loc_srt_MaximumMember_b55cc6f1-cfc0-4449-aa19-1bff0f31c9f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_1f41a9cf-2de8-4e1b-b978-c89fdd4fb4cc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_c2066606-b246-47f0-a283-a8f63e32e12e" xlink:to="loc_us-gaap_CreditFacilityAxis_1f41a9cf-2de8-4e1b-b978-c89fdd4fb4cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_6cf807d2-a6df-45df-b03f-ac056f0fa85b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityAxis_1f41a9cf-2de8-4e1b-b978-c89fdd4fb4cc" xlink:to="loc_us-gaap_CreditFacilityDomain_6cf807d2-a6df-45df-b03f-ac056f0fa85b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_43ec29b4-7c2f-4c71-9672-8f008b9a6f06" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_6cf807d2-a6df-45df-b03f-ac056f0fa85b" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_43ec29b4-7c2f-4c71-9672-8f008b9a6f06" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LetterOfCreditMember_61d999c5-44c8-4da2-beef-2a04ab57a569" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LetterOfCreditMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_6cf807d2-a6df-45df-b03f-ac056f0fa85b" xlink:to="loc_us-gaap_LetterOfCreditMember_61d999c5-44c8-4da2-beef-2a04ab57a569" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_afa263bd-a07d-409b-b3ed-393db1ac0dad" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_c2066606-b246-47f0-a283-a8f63e32e12e" xlink:to="loc_us-gaap_DebtInstrumentLineItems_afa263bd-a07d-409b-b3ed-393db1ac0dad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_d8a48d7a-8d9a-4ccb-96bd-0411d3558fc5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_afa263bd-a07d-409b-b3ed-393db1ac0dad" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_d8a48d7a-8d9a-4ccb-96bd-0411d3558fc5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_f8b2d569-3c08-4b91-ab22-6b9781d0144e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_afa263bd-a07d-409b-b3ed-393db1ac0dad" xlink:to="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_f8b2d569-3c08-4b91-ab22-6b9781d0144e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage_3746e617-335b-49ea-bbda-e73b0a3d1c63" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_afa263bd-a07d-409b-b3ed-393db1ac0dad" xlink:to="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage_3746e617-335b-49ea-bbda-e73b0a3d1c63" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCredit_98e7b953-eab3-4836-9b12-626c811e52f0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCredit"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_afa263bd-a07d-409b-b3ed-393db1ac0dad" xlink:to="loc_us-gaap_LineOfCredit_98e7b953-eab3-4836-9b12-626c811e52f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_8b239ec3-8b39-45bd-b20e-fd02abb0945d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_afa263bd-a07d-409b-b3ed-393db1ac0dad" xlink:to="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_8b239ec3-8b39-45bd-b20e-fd02abb0945d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CommitmentsandContingencies" xlink:type="simple" xlink:href="calx-20211002.xsd#CommitmentsandContingencies"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/CommitmentsandContingencies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_6a6eb0a0-d1fd-491c-98c9-89876fad07f6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_4a0024a9-1240-4c4a-ad39-c179f2ea34be" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_6a6eb0a0-d1fd-491c-98c9-89876fad07f6" xlink:to="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_4a0024a9-1240-4c4a-ad39-c179f2ea34be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CommitmentsandContingenciesTables" xlink:type="simple" xlink:href="calx-20211002.xsd#CommitmentsandContingenciesTables"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/CommitmentsandContingenciesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_73951f81-c83c-490a-950f-c4ca28cede2f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_f4e0e0ee-09cf-46af-b045-ed3bafa4aadf" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_73951f81-c83c-490a-950f-c4ca28cede2f" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_f4e0e0ee-09cf-46af-b045-ed3bafa4aadf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_LesseeOperatingLeaseLiabilityTableTextBlock_0a04a37c-d545-4a0c-bd42-fcb2c3787ec9" xlink:href="calx-20211002.xsd#calx_LesseeOperatingLeaseLiabilityTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_73951f81-c83c-490a-950f-c4ca28cede2f" xlink:to="loc_calx_LesseeOperatingLeaseLiabilityTableTextBlock_0a04a37c-d545-4a0c-bd42-fcb2c3787ec9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CommitmentsandContingenciesTextualDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#CommitmentsandContingenciesTextualDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/CommitmentsandContingenciesTextualDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_384b2fd6-b1c1-4717-83d4-2296b8a8c98a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesTable_a04eb6d1-4b29-4814-b056-19ba3549e500" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LossContingenciesTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_384b2fd6-b1c1-4717-83d4-2296b8a8c98a" xlink:to="loc_us-gaap_LossContingenciesTable_a04eb6d1-4b29-4814-b056-19ba3549e500" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_c98425e4-8720-4d7d-8837-74fd2b1a2429" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_StatementGeographicalAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesTable_a04eb6d1-4b29-4814-b056-19ba3549e500" xlink:to="loc_srt_StatementGeographicalAxis_c98425e4-8720-4d7d-8837-74fd2b1a2429" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_7a8c6394-a4ac-409c-b069-1e4610c601a0" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementGeographicalAxis_c98425e4-8720-4d7d-8837-74fd2b1a2429" xlink:to="loc_srt_SegmentGeographicalDomain_7a8c6394-a4ac-409c-b069-1e4610c601a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_SanJoseCaliforniaMember_04a0c995-e261-4e4e-abb8-31abfddc15de" xlink:href="calx-20211002.xsd#calx_SanJoseCaliforniaMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_7a8c6394-a4ac-409c-b069-1e4610c601a0" xlink:to="loc_calx_SanJoseCaliforniaMember_04a0c995-e261-4e4e-abb8-31abfddc15de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesLineItems_0d930714-b49a-417d-8a8b-683dfe8e1b7a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LossContingenciesLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesTable_a04eb6d1-4b29-4814-b056-19ba3549e500" xlink:to="loc_us-gaap_LossContingenciesLineItems_0d930714-b49a-417d-8a8b-683dfe8e1b7a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_5db84471-2e87-4359-a581-f0c2ee6a22c6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_0d930714-b49a-417d-8a8b-683dfe8e1b7a" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_5db84471-2e87-4359-a581-f0c2ee6a22c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_4711b493-0dcd-41e3-909d-25c37928f61a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_0d930714-b49a-417d-8a8b-683dfe8e1b7a" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_4711b493-0dcd-41e3-909d-25c37928f61a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_b81f2e9b-5263-489a-aa84-e4756bbe3a30" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_0d930714-b49a-417d-8a8b-683dfe8e1b7a" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_b81f2e9b-5263-489a-aa84-e4756bbe3a30" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseExpense_1f3ecb1c-ad8b-4de3-b2d3-63e0acae25ed" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseExpense"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_0d930714-b49a-417d-8a8b-683dfe8e1b7a" xlink:to="loc_us-gaap_OperatingLeaseExpense_1f3ecb1c-ad8b-4de3-b2d3-63e0acae25ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasePayments_85d65274-aad3-49a4-9874-d820a7f29e04" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeasePayments"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_0d930714-b49a-417d-8a8b-683dfe8e1b7a" xlink:to="loc_us-gaap_OperatingLeasePayments_85d65274-aad3-49a4-9874-d820a7f29e04" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_a342d6c1-b851-46c1-9a0a-e1473c9d1357" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_0d930714-b49a-417d-8a8b-683dfe8e1b7a" xlink:to="loc_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_a342d6c1-b851-46c1-9a0a-e1473c9d1357" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer_9c77dd4c-c5d5-49f2-9755-3d72d6ed357f" xlink:href="calx-20211002.xsd#calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_0d930714-b49a-417d-8a8b-683dfe8e1b7a" xlink:to="loc_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer_9c77dd4c-c5d5-49f2-9755-3d72d6ed357f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#CommitmentsandContingenciesOperatingLeasesDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_b0322ffe-7242-494c-baf1-186cef078ea6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_cd86c4db-4fbc-4a40-9e65-17bd61a9fb48" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_b0322ffe-7242-494c-baf1-186cef078ea6" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_cd86c4db-4fbc-4a40-9e65-17bd61a9fb48" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_d9fb5425-a4cc-40f3-b8a6-36051925d4a5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_b0322ffe-7242-494c-baf1-186cef078ea6" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_d9fb5425-a4cc-40f3-b8a6-36051925d4a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_f64f564e-a9e1-43cf-889c-13434703730d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_b0322ffe-7242-494c-baf1-186cef078ea6" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_f64f564e-a9e1-43cf-889c-13434703730d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_f1ca471d-5fc7-486d-909a-711a20eaf110" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_b0322ffe-7242-494c-baf1-186cef078ea6" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_f1ca471d-5fc7-486d-909a-711a20eaf110" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_4aa835cf-da96-4e1b-8370-cc2326f8c1b9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_b0322ffe-7242-494c-baf1-186cef078ea6" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_4aa835cf-da96-4e1b-8370-cc2326f8c1b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_251b11ab-2e8b-49ec-a3c2-9fc20cb27200" xlink:href="calx-20211002.xsd#calx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_b0322ffe-7242-494c-baf1-186cef078ea6" xlink:to="loc_calx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_251b11ab-2e8b-49ec-a3c2-9fc20cb27200" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_dc770f7e-1cec-41c2-a637-518c1b22f359" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_b0322ffe-7242-494c-baf1-186cef078ea6" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_dc770f7e-1cec-41c2-a637-518c1b22f359" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_b0760f66-5b36-4ad5-8823-54967149b21e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_b0322ffe-7242-494c-baf1-186cef078ea6" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_b0760f66-5b36-4ad5-8823-54967149b21e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_67cf9ca6-a1fc-461a-a971-7c10d6494477" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_b0322ffe-7242-494c-baf1-186cef078ea6" xlink:to="loc_us-gaap_OperatingLeaseLiability_67cf9ca6-a1fc-461a-a971-7c10d6494477" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails_1" xlink:type="simple" xlink:href="calx-20211002.xsd#CommitmentsandContingenciesOperatingLeasesDetails_1"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#CommitmentsandContingenciesOperatingLeaseLiabilityDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_84a04fbf-fc98-4ba1-9e01-be4eb7430bcc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_a4b7a14a-a696-4a3e-ae04-f0f6bafe3ff6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_84a04fbf-fc98-4ba1-9e01-be4eb7430bcc" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_a4b7a14a-a696-4a3e-ae04-f0f6bafe3ff6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_b36187e4-0e45-4491-83e8-8cf745947cce" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_84a04fbf-fc98-4ba1-9e01-be4eb7430bcc" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_b36187e4-0e45-4491-83e8-8cf745947cce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_4f3720fb-7e2a-45e1-afae-5bfad7d4006e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_84a04fbf-fc98-4ba1-9e01-be4eb7430bcc" xlink:to="loc_us-gaap_OperatingLeaseLiability_4f3720fb-7e2a-45e1-afae-5bfad7d4006e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_03d9850c-cb9c-4d30-bbbe-1dd00e4e248b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_84a04fbf-fc98-4ba1-9e01-be4eb7430bcc" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_03d9850c-cb9c-4d30-bbbe-1dd00e4e248b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/StockholdersEquity" xlink:type="simple" xlink:href="calx-20211002.xsd#StockholdersEquity"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/StockholdersEquity" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_47b50c19-8172-43ff-978c-0497245b0363" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_aec7414a-45b9-4e19-9145-09bd21a4927c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_47b50c19-8172-43ff-978c-0497245b0363" xlink:to="loc_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_aec7414a-45b9-4e19-9145-09bd21a4927c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/StockholdersEquityTables" xlink:type="simple" xlink:href="calx-20211002.xsd#StockholdersEquityTables"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/StockholdersEquityTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_88417252-6a1f-48ba-90c2-8adf22c5914a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_f25e896b-126f-42ba-9801-90076587fa06" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_88417252-6a1f-48ba-90c2-8adf22c5914a" xlink:to="loc_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_f25e896b-126f-42ba-9801-90076587fa06" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/StockholdersEquity2019EquityIncentiveAwardPlanDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#StockholdersEquity2019EquityIncentiveAwardPlanDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/StockholdersEquity2019EquityIncentiveAwardPlanDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_c3189976-29e8-48fe-95c9-08f55587145f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b5bf33ea-47ed-4570-a215-8da20d1d30f8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_c3189976-29e8-48fe-95c9-08f55587145f" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b5bf33ea-47ed-4570-a215-8da20d1d30f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_66dd9c0f-28a2-4698-b165-6534e54dfaf3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b5bf33ea-47ed-4570-a215-8da20d1d30f8" xlink:to="loc_us-gaap_PlanNameAxis_66dd9c0f-28a2-4698-b165-6534e54dfaf3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_e1a75bf4-359b-4729-a20f-997982da8750" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_66dd9c0f-28a2-4698-b165-6534e54dfaf3" xlink:to="loc_us-gaap_PlanNameDomain_e1a75bf4-359b-4729-a20f-997982da8750" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_A2019EquityIncentiveAwardPlanMember_7cbeae09-269e-47c6-89ff-3a69cfee4c57" xlink:href="calx-20211002.xsd#calx_A2019EquityIncentiveAwardPlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_e1a75bf4-359b-4729-a20f-997982da8750" xlink:to="loc_calx_A2019EquityIncentiveAwardPlanMember_7cbeae09-269e-47c6-89ff-3a69cfee4c57" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_dcf8ba74-08c7-43d4-bb25-6b0634fad850" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b5bf33ea-47ed-4570-a215-8da20d1d30f8" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_dcf8ba74-08c7-43d4-bb25-6b0634fad850" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares_90492813-5e96-4a7e-abac-0f840e50c5ad" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_dcf8ba74-08c7-43d4-bb25-6b0634fad850" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares_90492813-5e96-4a7e-abac-0f840e50c5ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_c574f00e-5dbd-42d4-ba1b-21700e1e6e89" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_dcf8ba74-08c7-43d4-bb25-6b0634fad850" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_c574f00e-5dbd-42d4-ba1b-21700e1e6e89" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/StockholdersEquityStockOptionsDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#StockholdersEquityStockOptionsDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/StockholdersEquityStockOptionsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_8f55a79c-caf8-4852-851e-f0f5a8694ad4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_56dd7016-a602-40a4-9fa9-137b0328b488" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_8f55a79c-caf8-4852-851e-f0f5a8694ad4" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_56dd7016-a602-40a4-9fa9-137b0328b488" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_ca34acf6-d636-4f65-beca-0434294bcae1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_56dd7016-a602-40a4-9fa9-137b0328b488" xlink:to="loc_us-gaap_PlanNameAxis_ca34acf6-d636-4f65-beca-0434294bcae1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_4bb5864c-b548-41b4-9e5f-e696522283f3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_ca34acf6-d636-4f65-beca-0434294bcae1" xlink:to="loc_us-gaap_PlanNameDomain_4bb5864c-b548-41b4-9e5f-e696522283f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_A2021PerformanceTargetsMember_f1b811fb-1b4a-4fb7-9667-696ec1b86067" xlink:href="calx-20211002.xsd#calx_A2021PerformanceTargetsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_4bb5864c-b548-41b4-9e5f-e696522283f3" xlink:to="loc_calx_A2021PerformanceTargetsMember_f1b811fb-1b4a-4fb7-9667-696ec1b86067" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_42b4b427-2656-46ce-8e84-a49346d0de98" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_56dd7016-a602-40a4-9fa9-137b0328b488" xlink:to="loc_us-gaap_AwardTypeAxis_42b4b427-2656-46ce-8e84-a49346d0de98" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_934fba7a-156f-41f8-b864-3ef88caceba4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_42b4b427-2656-46ce-8e84-a49346d0de98" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_934fba7a-156f-41f8-b864-3ef88caceba4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_f182c3c7-7200-439f-9882-a2089855a62f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_934fba7a-156f-41f8-b864-3ef88caceba4" xlink:to="loc_us-gaap_EmployeeStockOptionMember_f182c3c7-7200-439f-9882-a2089855a62f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_PerformanceBasedStockOptionsMember_5064b1c7-bc6f-491b-9db4-c820d67863fa" xlink:href="calx-20211002.xsd#calx_PerformanceBasedStockOptionsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_934fba7a-156f-41f8-b864-3ef88caceba4" xlink:to="loc_calx_PerformanceBasedStockOptionsMember_5064b1c7-bc6f-491b-9db4-c820d67863fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingAxis_db73309f-f834-4cb7-89d3-f18a436f762e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VestingAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_56dd7016-a602-40a4-9fa9-137b0328b488" xlink:to="loc_us-gaap_VestingAxis_db73309f-f834-4cb7-89d3-f18a436f762e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain_d12480bc-0334-45ed-8ff9-4166c00763bf" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VestingDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingAxis_db73309f-f834-4cb7-89d3-f18a436f762e" xlink:to="loc_us-gaap_VestingDomain_d12480bc-0334-45ed-8ff9-4166c00763bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_f6b7089f-17f1-4502-bbc6-c930f4e5ca8e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingDomain_d12480bc-0334-45ed-8ff9-4166c00763bf" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_f6b7089f-17f1-4502-bbc6-c930f4e5ca8e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_4db1f51d-45e2-4151-8fb2-d72fa2f64d49" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingDomain_d12480bc-0334-45ed-8ff9-4166c00763bf" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_4db1f51d-45e2-4151-8fb2-d72fa2f64d49" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis_af526872-e93f-4dfd-b056-ca0abf1d72c9" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_56dd7016-a602-40a4-9fa9-137b0328b488" xlink:to="loc_srt_TitleOfIndividualAxis_af526872-e93f-4dfd-b056-ca0abf1d72c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_4b7af476-bef5-4c46-98d5-2f53fdf468fa" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualAxis_af526872-e93f-4dfd-b056-ca0abf1d72c9" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_4b7af476-bef5-4c46-98d5-2f53fdf468fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ExecutiveOfficerMember_7832a99b-2911-4090-90dd-ff8a093f7b73" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ExecutiveOfficerMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_4b7af476-bef5-4c46-98d5-2f53fdf468fa" xlink:to="loc_srt_ExecutiveOfficerMember_7832a99b-2911-4090-90dd-ff8a093f7b73" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_56dd7016-a602-40a4-9fa9-137b0328b488" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_4f6e338d-7714-4197-9b7b-8eaf1c52611f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_4f6e338d-7714-4197-9b7b-8eaf1c52611f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_9095ef5a-aa89-4cbe-9fa9-836809d83296" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_9095ef5a-aa89-4cbe-9fa9-836809d83296" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1_70baa967-4498-43ad-8b92-b2aafc7a786f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1_70baa967-4498-43ad-8b92-b2aafc7a786f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_f8904733-439f-4f19-bed8-e74ec1d68ffa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_f8904733-439f-4f19-bed8-e74ec1d68ffa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_e91758b9-bd02-4b3c-a3e5-4774173d7f6e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_e91758b9-bd02-4b3c-a3e5-4774173d7f6e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent_6f97481a-65d6-4377-b8b5-4118d629a6dd" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent_6f97481a-65d6-4377-b8b5-4118d629a6dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent_7a7a9dc1-ecfd-4bc2-ab00-faf15720a2b5" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent_7a7a9dc1-ecfd-4bc2-ab00-faf15720a2b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet_ddbe5930-9486-47af-b665-8e91ed4a196c" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet_ddbe5930-9486-47af-b665-8e91ed4a196c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent_d6dcfa59-10bd-47ad-b0ca-1d1b558be90e" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent_d6dcfa59-10bd-47ad-b0ca-1d1b558be90e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent_7eb0ba7c-1f2f-40d1-98bc-97eacbe19d8c" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent_7eb0ba7c-1f2f-40d1-98bc-97eacbe19d8c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_c3174cff-ecfa-4290-aea6-8e0cbdd7d5c0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensation"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_us-gaap_ShareBasedCompensation_c3174cff-ecfa-4290-aea6-8e0cbdd7d5c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_49b8282a-2e3d-417b-a673-bf5a5d4c4e19" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_49b8282a-2e3d-417b-a673-bf5a5d4c4e19" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_fe35166f-a8e7-42d5-be58-17499caa152f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_fe35166f-a8e7-42d5-be58-17499caa152f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_1a18eee4-b209-47e4-99ce-9b564a7de99b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6e3b6f0-f44a-47f8-ab68-c32c024ee454" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_1a18eee4-b209-47e4-99ce-9b564a7de99b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#StockholdersEquityEmployeeStockPurchasePlansDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_67f3b0a0-00cb-41b7-baa7-22b8613a0788" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a2cc9fd1-4054-4498-a16c-440262584fe2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_67f3b0a0-00cb-41b7-baa7-22b8613a0788" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a2cc9fd1-4054-4498-a16c-440262584fe2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_5f86b28f-a9ac-4a32-9d99-0147115b7e4b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a2cc9fd1-4054-4498-a16c-440262584fe2" xlink:to="loc_us-gaap_AwardTypeAxis_5f86b28f-a9ac-4a32-9d99-0147115b7e4b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f279f648-2928-4e09-ba04-162ff03dccf1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_5f86b28f-a9ac-4a32-9d99-0147115b7e4b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f279f648-2928-4e09-ba04-162ff03dccf1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockMember_6753a5b7-f752-44f4-975c-c8d82f17cf0b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f279f648-2928-4e09-ba04-162ff03dccf1" xlink:to="loc_us-gaap_EmployeeStockMember_6753a5b7-f752-44f4-975c-c8d82f17cf0b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_547c4761-1655-47be-aba6-2d6dbf20a0c6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a2cc9fd1-4054-4498-a16c-440262584fe2" xlink:to="loc_us-gaap_PlanNameAxis_547c4761-1655-47be-aba6-2d6dbf20a0c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_8a614158-4906-411d-96bc-f773f099d889" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_547c4761-1655-47be-aba6-2d6dbf20a0c6" xlink:to="loc_us-gaap_PlanNameDomain_8a614158-4906-411d-96bc-f773f099d889" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_A2017NonqualifiedEmployeeStockPurchasePlanMember_eb80a02b-e510-40c1-afe5-bf7046c62c34" xlink:href="calx-20211002.xsd#calx_A2017NonqualifiedEmployeeStockPurchasePlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_8a614158-4906-411d-96bc-f773f099d889" xlink:to="loc_calx_A2017NonqualifiedEmployeeStockPurchasePlanMember_eb80a02b-e510-40c1-afe5-bf7046c62c34" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a2cc9fd1-4054-4498-a16c-440262584fe2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_NumberOfEmployeeStockPurchasePlans_ef7d00cd-b5ba-40c5-9b37-6cfb82b5acaf" xlink:href="calx-20211002.xsd#calx_NumberOfEmployeeStockPurchasePlans"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_calx_NumberOfEmployeeStockPurchasePlans_ef7d00cd-b5ba-40c5-9b37-6cfb82b5acaf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate_0f9be7ed-70ae-4e90-9d7d-ddf4a5c28493" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate_0f9be7ed-70ae-4e90-9d7d-ddf4a5c28493" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee_1bbb7fd9-28c5-4e83-a013-7949a361354f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee_1bbb7fd9-28c5-4e83-a013-7949a361354f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod_dcb5209d-c27b-4fc2-8427-746c5e297dd8" xlink:href="calx-20211002.xsd#calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod_dcb5209d-c27b-4fc2-8427-746c5e297dd8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_3811ce77-fd01-4535-85e7-0c19deab69c7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_3811ce77-fd01-4535-85e7-0c19deab69c7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_174ea088-f128-4bd9-82b5-30839c05c51e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_174ea088-f128-4bd9-82b5-30839c05c51e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_8272956e-de60-407a-900d-9fd1168bcfc5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_8272956e-de60-407a-900d-9fd1168bcfc5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_af566cb2-a74e-4825-99dd-76824607540f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_af566cb2-a74e-4825-99dd-76824607540f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan_94c542ba-8f2b-4e3d-a1d0-c39cce1f6d65" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan_94c542ba-8f2b-4e3d-a1d0-c39cce1f6d65" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_461cf6d8-bd67-47d8-a461-b04dc049e418" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_461cf6d8-bd67-47d8-a461-b04dc049e418" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_8532eb11-33a5-4140-a62d-0e69d040d3dd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_8532eb11-33a5-4140-a62d-0e69d040d3dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent_89f1804d-ee24-489a-9845-7cb1734b2490" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent_89f1804d-ee24-489a-9845-7cb1734b2490" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture_708f6882-405e-433a-a4aa-ee71a3f8a612" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture_708f6882-405e-433a-a4aa-ee71a3f8a612" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods_ed98f212-41ce-472c-9e61-ead63c58e0d8" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods_ed98f212-41ce-472c-9e61-ead63c58e0d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod_030e4929-4c36-4b60-8d16-4240f2b3a35d" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod_030e4929-4c36-4b60-8d16-4240f2b3a35d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod_982c8f40-25b4-4205-9a56-e7fc04fa07ee" xlink:href="calx-20211002.xsd#calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod_982c8f40-25b4-4205-9a56-e7fc04fa07ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_65456310-b248-425e-be0a-a72980a4e42e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_045896b7-a504-477a-8897-3a15da839408" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_65456310-b248-425e-be0a-a72980a4e42e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#StockholdersEquityStockBasedCompensationExpenseDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_37c15506-95a1-4dab-8c8d-d6bd5be1b705" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2f7bc9f0-c3d2-4ed5-85e2-192f7c299aff" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_37c15506-95a1-4dab-8c8d-d6bd5be1b705" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2f7bc9f0-c3d2-4ed5-85e2-192f7c299aff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_8ba2116f-f55d-4fe9-9c46-111955933341" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2f7bc9f0-c3d2-4ed5-85e2-192f7c299aff" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_8ba2116f-f55d-4fe9-9c46-111955933341" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_9aa2c144-ca5e-48f0-a1e2-7b45c8e533cc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_8ba2116f-f55d-4fe9-9c46-111955933341" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_9aa2c144-ca5e-48f0-a1e2-7b45c8e533cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_CostOfRevenueProductsMember_86522a12-85ec-4c40-af8b-c07f294606b6" xlink:href="calx-20211002.xsd#calx_CostOfRevenueProductsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_9aa2c144-ca5e-48f0-a1e2-7b45c8e533cc" xlink:to="loc_calx_CostOfRevenueProductsMember_86522a12-85ec-4c40-af8b-c07f294606b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_CostOfRevenueServicesMember_21765296-10e7-403e-bc31-bf989565f6fe" xlink:href="calx-20211002.xsd#calx_CostOfRevenueServicesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_9aa2c144-ca5e-48f0-a1e2-7b45c8e533cc" xlink:to="loc_calx_CostOfRevenueServicesMember_21765296-10e7-403e-bc31-bf989565f6fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpenseMember_6bb5fedf-fb93-4f53-a055-2906fdd49b57" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingAndMarketingExpenseMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_9aa2c144-ca5e-48f0-a1e2-7b45c8e533cc" xlink:to="loc_us-gaap_SellingAndMarketingExpenseMember_6bb5fedf-fb93-4f53-a055-2906fdd49b57" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_9e3e9be6-edda-4187-a828-dfdaacad3310" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_9aa2c144-ca5e-48f0-a1e2-7b45c8e533cc" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_9e3e9be6-edda-4187-a828-dfdaacad3310" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpenseMember_15b9f59a-f97a-4d26-b7ab-3c298fba8ba9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_9aa2c144-ca5e-48f0-a1e2-7b45c8e533cc" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpenseMember_15b9f59a-f97a-4d26-b7ab-3c298fba8ba9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_90e9b5f8-bb0b-4f23-8a51-54f469f06e54" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2f7bc9f0-c3d2-4ed5-85e2-192f7c299aff" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_90e9b5f8-bb0b-4f23-8a51-54f469f06e54" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_31ba11f9-3cea-4fa9-b438-08f3273f07e6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_90e9b5f8-bb0b-4f23-8a51-54f469f06e54" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_31ba11f9-3cea-4fa9-b438-08f3273f07e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/RevenuefromContractswithCustomers" xlink:type="simple" xlink:href="calx-20211002.xsd#RevenuefromContractswithCustomers"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/RevenuefromContractswithCustomers" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_d48411f8-0b77-418a-aa3e-2dde0b90e6df" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_6395ccb2-c578-44a3-bf0c-6df96cdf5d6a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_d48411f8-0b77-418a-aa3e-2dde0b90e6df" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_6395ccb2-c578-44a3-bf0c-6df96cdf5d6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/RevenuefromContractswithCustomersTables" xlink:type="simple" xlink:href="calx-20211002.xsd#RevenuefromContractswithCustomersTables"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/RevenuefromContractswithCustomersTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_c4f6e020-57d6-4d8c-989e-98c9d03f97ee" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_a897ce36-0cf5-4525-935c-03458eccaf5d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_c4f6e020-57d6-4d8c-989e-98c9d03f97ee" xlink:to="loc_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_a897ce36-0cf5-4525-935c-03458eccaf5d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_b9ff7b8d-0ce7-40ab-b529-97023006db77" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_c4f6e020-57d6-4d8c-989e-98c9d03f97ee" xlink:to="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_b9ff7b8d-0ce7-40ab-b529-97023006db77" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#RevenuefromContractswithCustomersRevenueDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_d3c319e0-d924-4131-aef7-ce728599b048" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_fdf67297-3fc9-43bc-a3f2-06c468e421f4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_d3c319e0-d924-4131-aef7-ce728599b048" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_fdf67297-3fc9-43bc-a3f2-06c468e421f4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_f2941a4e-3c40-4cfb-a9b4-9b9d68872d16" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_StatementGeographicalAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_fdf67297-3fc9-43bc-a3f2-06c468e421f4" xlink:to="loc_srt_StatementGeographicalAxis_f2941a4e-3c40-4cfb-a9b4-9b9d68872d16" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_4fc454f2-bdce-483b-9bda-b55d7c087b9a" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementGeographicalAxis_f2941a4e-3c40-4cfb-a9b4-9b9d68872d16" xlink:to="loc_srt_SegmentGeographicalDomain_4fc454f2-bdce-483b-9bda-b55d7c087b9a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_4edd8d31-f862-4f8d-917f-3e7847518808" xlink:href="https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd#country_US"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_4fc454f2-bdce-483b-9bda-b55d7c087b9a" xlink:to="loc_country_US_4edd8d31-f862-4f8d-917f-3e7847518808" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_AmericasExUSMember_1edf5394-38d7-47b4-be95-5dc4ceda18ce" xlink:href="calx-20211002.xsd#calx_AmericasExUSMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_4fc454f2-bdce-483b-9bda-b55d7c087b9a" xlink:to="loc_calx_AmericasExUSMember_1edf5394-38d7-47b4-be95-5dc4ceda18ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_EuropeMember_d5970250-a1dd-423c-8251-ecd4512005a1" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_EuropeMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_4fc454f2-bdce-483b-9bda-b55d7c087b9a" xlink:to="loc_srt_EuropeMember_d5970250-a1dd-423c-8251-ecd4512005a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_MiddleEastAndAfricaMember_1b81ae08-ce76-44af-9dca-65bbcd1ef301" xlink:href="calx-20211002.xsd#calx_MiddleEastAndAfricaMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_4fc454f2-bdce-483b-9bda-b55d7c087b9a" xlink:to="loc_calx_MiddleEastAndAfricaMember_1b81ae08-ce76-44af-9dca-65bbcd1ef301" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_AsiaPacificMember_a785a324-f589-4345-88c9-2a5be80b19db" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_AsiaPacificMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_4fc454f2-bdce-483b-9bda-b55d7c087b9a" xlink:to="loc_srt_AsiaPacificMember_a785a324-f589-4345-88c9-2a5be80b19db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_a28cd1e6-a908-4cca-a5fd-f785fd6e2ba9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_fdf67297-3fc9-43bc-a3f2-06c468e421f4" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_a28cd1e6-a908-4cca-a5fd-f785fd6e2ba9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_01f14e0e-e336-4dce-8660-df4cb3ea28ce" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_a28cd1e6-a908-4cca-a5fd-f785fd6e2ba9" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_01f14e0e-e336-4dce-8660-df4cb3ea28ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#RevenuefromContractswithCustomersContractAssetandLiabilityDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_c80c9d38-97ca-43bd-891b-1ff9613eac8a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_3668b58c-80ba-456e-9475-7c5d3f390df3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_c80c9d38-97ca-43bd-891b-1ff9613eac8a" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_3668b58c-80ba-456e-9475-7c5d3f390df3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenueArrangementTypeAxis_4a0f8ac1-b504-4954-9ef2-153dddd0728a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenueArrangementTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_3668b58c-80ba-456e-9475-7c5d3f390df3" xlink:to="loc_us-gaap_DeferredRevenueArrangementTypeAxis_4a0f8ac1-b504-4954-9ef2-153dddd0728a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenueArrangementTypeDomain_3923eca1-0c54-4302-9dcd-71bc9a1e029c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenueArrangementTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredRevenueArrangementTypeAxis_4a0f8ac1-b504-4954-9ef2-153dddd0728a" xlink:to="loc_us-gaap_DeferredRevenueArrangementTypeDomain_3923eca1-0c54-4302-9dcd-71bc9a1e029c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ProductAndServicesMember_b7da96c6-a1b5-4204-aa4b-fe36b7a20eef" xlink:href="calx-20211002.xsd#calx_ProductAndServicesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredRevenueArrangementTypeDomain_3923eca1-0c54-4302-9dcd-71bc9a1e029c" xlink:to="loc_calx_ProductAndServicesMember_b7da96c6-a1b5-4204-aa4b-fe36b7a20eef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ExtendedWarrantyMember_be54d8ed-f8e5-4ee9-a911-86e9cb9c401e" xlink:href="calx-20211002.xsd#calx_ExtendedWarrantyMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredRevenueArrangementTypeDomain_3923eca1-0c54-4302-9dcd-71bc9a1e029c" xlink:to="loc_calx_ExtendedWarrantyMember_be54d8ed-f8e5-4ee9-a911-86e9cb9c401e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_30f4fb82-287a-4ca5-83b8-d2de1fd8972f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_3668b58c-80ba-456e-9475-7c5d3f390df3" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_30f4fb82-287a-4ca5-83b8-d2de1fd8972f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet_36786cb3-a542-4988-83d9-007b70b738cd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_30f4fb82-287a-4ca5-83b8-d2de1fd8972f" xlink:to="loc_us-gaap_ContractWithCustomerAssetNet_36786cb3-a542-4988-83d9-007b70b738cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ContractwithCustomerAssetPriorPeriodNotRecognized_e5025a67-5da0-44cc-84a6-1c6a68e0aea4" xlink:href="calx-20211002.xsd#calx_ContractwithCustomerAssetPriorPeriodNotRecognized"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_30f4fb82-287a-4ca5-83b8-d2de1fd8972f" xlink:to="loc_calx_ContractwithCustomerAssetPriorPeriodNotRecognized_e5025a67-5da0-44cc-84a6-1c6a68e0aea4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent_5dec7eb5-1060-441d-a522-bae8082d39ec" xlink:href="calx-20211002.xsd#calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_30f4fb82-287a-4ca5-83b8-d2de1fd8972f" xlink:to="loc_calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent_5dec7eb5-1060-441d-a522-bae8082d39ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_d4358085-f1f7-4948-acf3-2d35c221f6fc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_30f4fb82-287a-4ca5-83b8-d2de1fd8972f" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_d4358085-f1f7-4948-acf3-2d35c221f6fc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent_bfb12415-edc0-4825-8847-d2af7df4e760" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_30f4fb82-287a-4ca5-83b8-d2de1fd8972f" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent_bfb12415-edc0-4825-8847-d2af7df4e760" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_9656bbaf-8059-4b07-95bf-924249624873" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_30f4fb82-287a-4ca5-83b8-d2de1fd8972f" xlink:to="loc_us-gaap_ContractWithCustomerLiability_9656bbaf-8059-4b07-95bf-924249624873" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_b6efc033-edaa-477a-b1f3-02f1e2c82381" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_30f4fb82-287a-4ca5-83b8-d2de1fd8972f" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_b6efc033-edaa-477a-b1f3-02f1e2c82381" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#RevenuefromContractswithCustomersContractCostsDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_c4941488-5e6e-4d94-8d65-fa5aa27dafe4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostGross_a7098818-22de-45c9-942c-05d6434284fc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedContractCostGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_c4941488-5e6e-4d94-8d65-fa5aa27dafe4" xlink:to="loc_us-gaap_CapitalizedContractCostGross_a7098818-22de-45c9-942c-05d6434284fc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortization_92b3840e-9267-4ca2-a164-9fa19d693dd4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedContractCostAmortization"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_c4941488-5e6e-4d94-8d65-fa5aa27dafe4" xlink:to="loc_us-gaap_CapitalizedContractCostAmortization_92b3840e-9267-4ca2-a164-9fa19d693dd4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostImpairmentLoss_506fa3ee-fa5d-4d70-b0d9-48ed3c6f6468" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedContractCostImpairmentLoss"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_c4941488-5e6e-4d94-8d65-fa5aa27dafe4" xlink:to="loc_us-gaap_CapitalizedContractCostImpairmentLoss_506fa3ee-fa5d-4d70-b0d9-48ed3c6f6468" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#RevenuefromContractswithCustomersPerformanceObligationsDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_8732c4d8-7ec8-4585-b7e7-21746fc66615" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligation_6221fe4e-8e2c-4594-9c52-4e3041ef04e8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_8732c4d8-7ec8-4585-b7e7-21746fc66615" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligation_6221fe4e-8e2c-4594-9c52-4e3041ef04e8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_9467018b-71de-4c6b-99e7-db65c546f00a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_8732c4d8-7ec8-4585-b7e7-21746fc66615" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_9467018b-71de-4c6b-99e7-db65c546f00a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_ffc01a22-1f35-4ce7-a76d-7ad277399b0b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_9467018b-71de-4c6b-99e7-db65c546f00a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_ffc01a22-1f35-4ce7-a76d-7ad277399b0b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_8bb20742-4174-4548-bfc5-2eddfab85ca5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_9467018b-71de-4c6b-99e7-db65c546f00a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_8bb20742-4174-4548-bfc5-2eddfab85ca5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_4318786f-ea07-4a8a-84b3-ec1fdbf34805" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_8bb20742-4174-4548-bfc5-2eddfab85ca5" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_4318786f-ea07-4a8a-84b3-ec1fdbf34805" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_38c6b479-dcc3-4771-a98e-2aed358493c9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_8bb20742-4174-4548-bfc5-2eddfab85ca5" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_38c6b479-dcc3-4771-a98e-2aed358493c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails_1" xlink:type="simple" xlink:href="calx-20211002.xsd#RevenuefromContractswithCustomersPerformanceObligationsDetails_1"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#RevenuefromContractswithCustomersConcentrationRiskDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_88d337ab-ccc0-4982-a7f2-9424a54ceeed" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTable_8182c908-ec72-4fd2-a946-12083c1fd6be" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_88d337ab-ccc0-4982-a7f2-9424a54ceeed" xlink:to="loc_us-gaap_ConcentrationRiskTable_8182c908-ec72-4fd2-a946-12083c1fd6be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis_5a7413cf-70aa-4560-a7c7-a20c12cfdc3d" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MajorCustomersAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_8182c908-ec72-4fd2-a946-12083c1fd6be" xlink:to="loc_srt_MajorCustomersAxis_5a7413cf-70aa-4560-a7c7-a20c12cfdc3d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_3072f6b3-f31f-4425-8ee7-fcbc992b9887" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_MajorCustomersAxis_5a7413cf-70aa-4560-a7c7-a20c12cfdc3d" xlink:to="loc_srt_NameOfMajorCustomerDomain_3072f6b3-f31f-4425-8ee7-fcbc992b9887" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_OneCustomerMember_278b99d8-8522-47bd-97b6-dc9b1afc9b10" xlink:href="calx-20211002.xsd#calx_OneCustomerMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_3072f6b3-f31f-4425-8ee7-fcbc992b9887" xlink:to="loc_calx_OneCustomerMember_278b99d8-8522-47bd-97b6-dc9b1afc9b10" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_calx_LumenTechnologiesIncMember_f57f9005-6d0a-405f-aee1-353cee485a4d" xlink:href="calx-20211002.xsd#calx_LumenTechnologiesIncMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_3072f6b3-f31f-4425-8ee7-fcbc992b9887" xlink:to="loc_calx_LumenTechnologiesIncMember_f57f9005-6d0a-405f-aee1-353cee485a4d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_e01fdd43-29c3-4766-8eab-372ad6aa032b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_8182c908-ec72-4fd2-a946-12083c1fd6be" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_e01fdd43-29c3-4766-8eab-372ad6aa032b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_062620e5-d82a-4b84-9b45-5ab32f18bfb3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_e01fdd43-29c3-4766-8eab-372ad6aa032b" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_062620e5-d82a-4b84-9b45-5ab32f18bfb3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember_b3201144-089f-45a6-aad8-91df5e240532" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_062620e5-d82a-4b84-9b45-5ab32f18bfb3" xlink:to="loc_us-gaap_CustomerConcentrationRiskMember_b3201144-089f-45a6-aad8-91df5e240532" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_d3fe78ca-371d-43bc-b740-b92c1e81e039" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_8182c908-ec72-4fd2-a946-12083c1fd6be" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_d3fe78ca-371d-43bc-b740-b92c1e81e039" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_8832e49c-3fe5-4508-a83c-06fc8cb74017" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_d3fe78ca-371d-43bc-b740-b92c1e81e039" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_8832e49c-3fe5-4508-a83c-06fc8cb74017" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerMember_fb2a20cd-d6ce-4062-8281-72bad493f849" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_8832e49c-3fe5-4508-a83c-06fc8cb74017" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerMember_fb2a20cd-d6ce-4062-8281-72bad493f849" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskLineItems_46b9c9d6-6a14-4d54-9171-d77cfb04f781" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_8182c908-ec72-4fd2-a946-12083c1fd6be" xlink:to="loc_us-gaap_ConcentrationRiskLineItems_46b9c9d6-6a14-4d54-9171-d77cfb04f781" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_b84be9cd-e405-4eb1-8439-c880d4376ea1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_46b9c9d6-6a14-4d54-9171-d77cfb04f781" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_b84be9cd-e405-4eb1-8439-c880d4376ea1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/IncomeTaxes" xlink:type="simple" xlink:href="calx-20211002.xsd#IncomeTaxes"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/IncomeTaxes" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_5104f831-a0b0-4f83-b132-657d3c3d53d5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_ea3b3da2-8387-4441-8fba-2f77c4b67fdc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5104f831-a0b0-4f83-b132-657d3c3d53d5" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_ea3b3da2-8387-4441-8fba-2f77c4b67fdc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/IncomeTaxesTables" xlink:type="simple" xlink:href="calx-20211002.xsd#IncomeTaxesTables"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/IncomeTaxesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_081942a4-bcfd-43ee-b5b8-cd15420f1cc4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_20d9d08b-87ed-4b42-b862-9ae70903d344" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_081942a4-bcfd-43ee-b5b8-cd15420f1cc4" xlink:to="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_20d9d08b-87ed-4b42-b862-9ae70903d344" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/IncomeTaxesDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#IncomeTaxesDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/IncomeTaxesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_1467503f-cbfb-49f7-9382-18aee8b9fc43" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_36a0f16b-83a6-4c5c-b4b6-d12c1c87c972" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_1467503f-cbfb-49f7-9382-18aee8b9fc43" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_36a0f16b-83a6-4c5c-b4b6-d12c1c87c972" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_ecd6cfa9-aa7d-4a69-b645-9807848a36cb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_1467503f-cbfb-49f7-9382-18aee8b9fc43" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_ecd6cfa9-aa7d-4a69-b645-9807848a36cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_d013ce2b-7a88-4746-b5e1-1a777bfe6472" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_1467503f-cbfb-49f7-9382-18aee8b9fc43" xlink:to="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_d013ce2b-7a88-4746-b5e1-1a777bfe6472" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_9c04e4dd-fe44-49c7-b5f7-84d35ea85faa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_1467503f-cbfb-49f7-9382-18aee8b9fc43" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_9c04e4dd-fe44-49c7-b5f7-84d35ea85faa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/NetIncomePerCommonShare" xlink:type="simple" xlink:href="calx-20211002.xsd#NetIncomePerCommonShare"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/NetIncomePerCommonShare" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_c6c019fc-d302-4e2c-9496-b2f4b9c18bc9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareTextBlock_b5098678-ef11-4d85-9a23-64fabe1846eb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_c6c019fc-d302-4e2c-9496-b2f4b9c18bc9" xlink:to="loc_us-gaap_EarningsPerShareTextBlock_b5098678-ef11-4d85-9a23-64fabe1846eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/NetIncomePerCommonShareTables" xlink:type="simple" xlink:href="calx-20211002.xsd#NetIncomePerCommonShareTables"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/NetIncomePerCommonShareTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_8fca9adb-fe56-46d2-8d26-9d0f4b9f734e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_d86fa437-5be1-4b88-a387-f6ac5be45f65" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_8fca9adb-fe56-46d2-8d26-9d0f4b9f734e" xlink:to="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_d86fa437-5be1-4b88-a387-f6ac5be45f65" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.calix.com/role/NetIncomePerCommonShareDetails" xlink:type="simple" xlink:href="calx-20211002.xsd#NetIncomePerCommonShareDetails"/>
  <link:presentationLink xlink:role="http://www.calix.com/role/NetIncomePerCommonShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_eb0ff8f5-d40d-45db-858d-0c7affe77978" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_e91783e2-6cf8-4929-831d-bfdda4825b90" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_eb0ff8f5-d40d-45db-858d-0c7affe77978" xlink:to="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_e91783e2-6cf8-4929-831d-bfdda4825b90" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAbstract_8a7058ca-60b0-43a7-a082-189ea7cef5bd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLossAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_e91783e2-6cf8-4929-831d-bfdda4825b90" xlink:to="loc_us-gaap_NetIncomeLossAbstract_8a7058ca-60b0-43a7-a082-189ea7cef5bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProfitLoss_8efe5960-5af4-4901-adb1-e8fe98988df4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProfitLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetIncomeLossAbstract_8a7058ca-60b0-43a7-a082-189ea7cef5bd" xlink:to="loc_us-gaap_ProfitLoss_8efe5960-5af4-4901-adb1-e8fe98988df4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_069098e2-5aac-4a85-a5d4-fc4c5a163b43" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_e91783e2-6cf8-4929-831d-bfdda4825b90" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_069098e2-5aac-4a85-a5d4-fc4c5a163b43" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_83da0aad-b16f-4e80-b3bc-cfdf9b60764a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_069098e2-5aac-4a85-a5d4-fc4c5a163b43" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_83da0aad-b16f-4e80-b3bc-cfdf9b60764a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_49209f1b-80f0-41f4-bcb8-0d5949658ad7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_069098e2-5aac-4a85-a5d4-fc4c5a163b43" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_49209f1b-80f0-41f4-bcb8-0d5949658ad7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_19564394-7948-46a4-8f96-e89f92c05465" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_069098e2-5aac-4a85-a5d4-fc4c5a163b43" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_19564394-7948-46a4-8f96-e89f92c05465" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_014eaee6-6a2b-442d-a4fe-9787e68e9ed0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_e91783e2-6cf8-4929-831d-bfdda4825b90" xlink:to="loc_us-gaap_EarningsPerShareBasic_014eaee6-6a2b-442d-a4fe-9787e68e9ed0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_226f3c5b-c990-4d52-b1e1-fed083fe27ab" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_e91783e2-6cf8-4929-831d-bfdda4825b90" xlink:to="loc_us-gaap_EarningsPerShareDiluted_226f3c5b-c990-4d52-b1e1-fed083fe27ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_b71c96c4-39d8-4676-b482-6171da8a5541" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_e91783e2-6cf8-4929-831d-bfdda4825b90" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_b71c96c4-39d8-4676-b482-6171da8a5541" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>12
<FILENAME>image_0a.jpg
<TEXT>
begin 644 image_0a.jpg
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
MS%#7]5/EX^80Q%HPRZB N4_JB1]$ME!6JQRPD(#=V9,36-TV6F$4T,2%R9P
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
M+  9%8%@ <BH" 0+0$9%(%@ ,BH"P0*041$(%H",BD"P &14!((%(*,B$"P
K&16!8 '(J @$"T!&12!8 #(J L$"_@\!;^.MT2F\G@    !)14Y$KD)@@@$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>calx-20211002_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:calx="http://www.calix.com/20211002"
  xmlns:country="http://xbrl.sec.gov/country/2020-01-31"
  xmlns:dei="http://xbrl.sec.gov/dei/2020-01-31"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2020-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2020-01-31"
  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="calx-20211002.xsd" xlink:type="simple"/>
    <context id="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i739c36f9cdf14f7794a78f02788788f0_I20211018">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
        </entity>
        <period>
            <instant>2021-10-18</instant>
        </period>
    </context>
    <context id="ib4194844b22648f788a74d13c0226609_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i713404b8f56641e49de98167821fceca_D20210704-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">calx:SystemsProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-04</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i4753558e8825419791b17ca7d213063f_D20200628-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">calx:SystemsProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-28</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i877cb3ea439641b19d355312355d304a_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">calx:SystemsProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="if645262fc12448669e387313b6f982eb_D20200101-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">calx:SystemsProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="if100dab6087c4813b6e331aa16b6d287_D20210704-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-04</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="ied5a853db0a9401392cd1be0b489e96d_D20200628-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-28</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i2816fb445ef844e39a36716ddf457529_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i4b3a8a37d33c485f979ef0b1b1d24699_D20200101-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
        </entity>
        <period>
            <startDate>2021-07-04</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
        </entity>
        <period>
            <startDate>2020-06-28</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i719aee2ec2074761a484a36bd8b38658_I20210703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-03</instant>
        </period>
    </context>
    <context id="i96f3d0c1ebfa4f68ba141d50b140850e_I20210703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-03</instant>
        </period>
    </context>
    <context id="ibeced1c7ba50417fb67be8b1a105add6_I20210703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-03</instant>
        </period>
    </context>
    <context id="i65f386b867bb4d27828de8ba7095914a_I20210703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-03</instant>
        </period>
    </context>
    <context id="i4c1ad5e2de2a46189e308f662fa777c2_I20210703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-03</instant>
        </period>
    </context>
    <context id="ibdff310060b846bfb5608e4f0b9de9d5_I20210703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
        </entity>
        <period>
            <instant>2021-07-03</instant>
        </period>
    </context>
    <context id="iabac216f03a1461fa4f42bcdf760d959_D20210704-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-04</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i73192d159c5a494b9a92afe96c5f355d_D20210704-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-04</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i8394d1d1365743f1af0d64bc993efbf7_D20210704-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-04</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i81dd5b82aa524c8281fd6d86ff0ac306_D20210704-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-04</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="ib6cbefe9b5304859aaa0042df1ff7169_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i9f0b6e94b6524e96bf9c63cb7ebca22a_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="iab5c3d5e54444c6c9b24a13ad207e9f1_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i6ca731aad112464c83bdf45cceba5da2_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="ib6c405edb07742b0b59fb8f74773cd6e_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i82db4d0313534420a469f5471a357280_I20200627">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-27</instant>
        </period>
    </context>
    <context id="i57afc6bf7fbf4296be86461c9162dd7a_I20200627">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-27</instant>
        </period>
    </context>
    <context id="ia2792190cc714ae59f3615b421fceb57_I20200627">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-27</instant>
        </period>
    </context>
    <context id="i5c68251911c4458497df5c9d59ba3057_I20200627">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-27</instant>
        </period>
    </context>
    <context id="ia19cc151987a4e9b86e5498de05c46be_I20200627">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-27</instant>
        </period>
    </context>
    <context id="if85299be32f348a59681f41a2b3c4943_I20200627">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
        </entity>
        <period>
            <instant>2020-06-27</instant>
        </period>
    </context>
    <context id="ied3d352f397e42fd8677496a633e316f_D20200628-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-28</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i9d3a6d150f0f4852bcb44ad5f8b5b5a7_D20200628-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-28</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i9db9ff25c808451789056a63e326d239_D20200628-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-28</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="idb760cad941944dd9c89716d1f9660a1_D20200628-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-28</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i2dbc2fde70e34e4897d353aee3a7037a_D20200628-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-28</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i713dc1c8318346e0ae59b8d0914f7f61_I20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-26</instant>
        </period>
    </context>
    <context id="i399629ec6b9c49f68307f3835617ea2c_I20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-26</instant>
        </period>
    </context>
    <context id="i6856290b10384d088d66ddfcab850433_I20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-26</instant>
        </period>
    </context>
    <context id="i45f42dc11ed941088083eecb9e07bcbc_I20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-26</instant>
        </period>
    </context>
    <context id="ic847eb288b6543caad90a00bf54a740b_I20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-26</instant>
        </period>
    </context>
    <context id="i5b5927dd8cce44bc93f27feb4b7c149e_I20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
        </entity>
        <period>
            <instant>2020-09-26</instant>
        </period>
    </context>
    <context id="i94d71ce498f84b9b9e061480730494ed_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i43fc40c3c91f4c50ae3e849790ac4358_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iadb337735f9143f098c64a98535ed730_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="if43e8a75a45a4535bc4a7735f0a267dc_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i34f2c7857f5a4299beb8dad5f274d66d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie468ca297b344933a8e6028e67ed815f_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i762e0d8988ae4bda9907959f882fcde4_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i49c3471cf0e44a2f9a2879f5e2f8fd0f_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i0584126924d6475bba24d98d000cfe9b_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="id735c32780e2439cb1c3e925a33155a7_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i4560bfcb57504859980d178b4befab6f_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i95bdd3dfd3a84101bc236031747fbc55_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i5687cf6b0ccc4e12b649b1e3725e37b5_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ibf28ea2c6d9c46df8cf295ff21695b9b_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i01677da6d89f44ccbc9a41104c439270_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="idfea60db97244c8587b1f58c66d7aa3f_D20200101-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i0df46bc6cd5c401b97a9766495839643_D20200101-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="ic9bab66f44e6405996b52ea0d927824e_D20200101-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i5f4e2617778249599dac964228ad323e_D20200101-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="ida2d0ad75a3d4ab285100f6946ba74eb_D20200101-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="id4e961fca3f04687ba4e2836f4d4948a_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="ie74c0b9cf5804c67a6b7086a121340cc_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i266bc4dc70814210b46ab80444bb1e11_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i95325bb22e5f4f89aacd1ab876ea1bbe_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie13138ffb8b84b6d89cea39464c1fde4_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="id43610d00b34463cbe1a36fb1e27aa0b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iee143e313480466193c3be37bbb3ded6_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="ic0ba35e85bd345c982a5e5d6769f241b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="idf991a39aa4c472182f5ebc48298c319_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USGovernmentDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="ie5dbf97b5b8947cb878f959c4f31c81b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USGovernmentDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i8f724e4e6df9420499d41ba2f8a85556_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i2c5666534f2e4a32a5d7fb0d37dcf641_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i1612af942ca746cab22b293b4fb505c7_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="ie9b29a0058664caaa92594b56344831b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i037b33631de04352bdae3d770b4d0303_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i68321b9592d2400db860461d32169447_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i937479d3bf9c413cbed828008b702cbe_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i68c60b73a7764615991d7161320b22ee_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i1b22cd11ca08494c97af262450969030_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="icef0371f5216436ca6221913f71e89ac_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i3b83baf80973450cbc0fffafca8c995e_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i394f7e868e564ddaa3bb7656154f9971_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i660370d1477c47d9ae4e210061e04d2f_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i2cb2af827c0d4e8fa13d50d8b32ab69c_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="ia1148926c25042a5951f2b8420c9e880_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="id58cbf088e8f43cd9c8ca2c32c054028_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="ib42bc09e694143e29593b2eac05391fc_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i6fb296c1504046b7b902c9c4498b8373_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i870ca6f514b742d9890e0228064e2de0_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i723b9a3d33ce4467a86c84ead7b41c2a_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i9f73129217a6431fa2b0c268cf962e2c_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="ic67299b48d7d437190adc5221b3dea72_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i94f3883f67df4b5eb5c28bcf1d98d833_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="if1acc8fad88d4bba96bdd150fad70a81_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i9b2be8a325c644cf8f7beb32f0c38343_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i3fe16082e3ed46f1ab37172262968b23_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i443e0055c5754d7bbe2efe5deeb1d796_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i206072936674476292ca7a8b8c6fcc62_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i201027b65e3849c5acbff4581e5c30d2_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="ia7b33a7632984497a0b204172aa04efa_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="ib2ac7f1f33ac4acd8cc838e0542e5b52_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i764133c02d0440188258ec3b4eaf8e24_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i9617cb42498f490ca6363ddb911df87b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib8edd66a30aa4bf6beaaf85b8c2878a2_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie64184d8da4741ac89d97a8b2248f50c_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="ib48cd01fe71541729a887e49debdb7e4_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i824b1699007843c7a4b8120623b581fc_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">calx:SoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="ia5b73b59f9344c7ba678391a99b117e7_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">calx:SoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="if7a966696c63400b8ea9887b3678cec4_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="ie98412dd96314b14bbde364e09cdbabb_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ic011dad94be943aaa99b45d8862d3a2f_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i86e321774a554598ae0fa13d7dfd2184_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="idc424497c33d4090a7ce2d2a356c3bc3_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i3a25fc33ed4348d3a66fe7ec34ebcaa0_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iba9044f04b6e454f8355aac53a4440ff_I20180331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-03-31</instant>
        </period>
    </context>
    <context id="if83f9c370cd84c8ca048664140a5f25a_I20190928">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-28</instant>
        </period>
    </context>
    <context id="i16d7bebbeed74c3982a1db4aaebc555b_D20190630-20190928">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-06-30</startDate>
            <endDate>2019-09-28</endDate>
        </period>
    </context>
    <context id="i80336faa7f4e4662933379d5a174bc71_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i1f6d3a747de64c27a25cd4680f47b0fa_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i327009b331d4449bb2a0296d9ff61507_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">calx:AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if8edbbcca1184addaa516c1e0794880b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">calx:RichardsonTexasAndSanJoseCaliforniaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:FacilityClosingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i821bbed98cc4449d9c0818ac60ef5c48_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:FacilityClosingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i8a9d69567ccc4d71bf2a8f7efc113576_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iaa88655af0f243bf9022dab4a57016b5_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:FacilityClosingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i86780f7fafac4aaea0e6f929f67f3b8a_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="ia54af817c8084c6089e2e9aad2754d6c_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:FacilityClosingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="ibb78188966b74ac0b2ca062fc7dfd7e1_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i5bea453f7dc8426ba1c703b598ad6e30_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">calx:BankOfAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i316173499cff4977b47d0537c28c69b0_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">calx:BankOfAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i4436e314311e4afab8714b1a96fa8378_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">calx:BankOfAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i81c0da0651e94f2f9eedfe6f8aba427a_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">calx:BankOfAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i27476bbe7e504f478dc9f52396d8a422_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">calx:BankOfAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i9c0ae4c4a012454385ecd85a98aec2c7_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">calx:BankOfAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i119accbad0644664991a2fc5abd44545_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">calx:BankOfAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="ifb81db97359e4793b692ce6dc59142fa_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">calx:SanJoseCaliforniaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="iaedd2a09379f479bb16fa0ffec45f2ee_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2019EquityIncentiveAwardPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i04748989fcfe4111a35085ec6b796896_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2021PerformanceTargetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i62b2e08a6c4f49a298e98198c23fdfa6_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2021PerformanceTargetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">calx:PerformanceBasedStockOptionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2021PerformanceTargetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-01</startDate>
            <endDate>2021-02-28</endDate>
        </period>
    </context>
    <context id="ie120eba8bcb748a48d670dce0d75c865_D20210201-20210228">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">calx:PerformanceBasedStockOptionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2021PerformanceTargetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-01</startDate>
            <endDate>2021-02-28</endDate>
        </period>
    </context>
    <context id="i837861cca2d042bb879a5eb612b704f8_D20210201-20210228">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">calx:PerformanceBasedStockOptionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2021PerformanceTargetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-01</startDate>
            <endDate>2021-02-28</endDate>
        </period>
    </context>
    <context id="i63915c9ed57f4e8083ef090302be1894_D20210704-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">calx:PerformanceBasedStockOptionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2021PerformanceTargetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-04</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i9b413c47d93249938ee2593660133a8d_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">calx:PerformanceBasedStockOptionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2021PerformanceTargetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="if278cd5492494030873418d6b5622c9c_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="ia76d774d956c4b278d169b4619285bed_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="iee7ed7956de74c89a455fe922a51e77e_D20210703-20210703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-03</startDate>
            <endDate>2021-07-03</endDate>
        </period>
    </context>
    <context id="i568082441fa347cd8690cebadfb39a7f_I20210702">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-02</instant>
        </period>
    </context>
    <context id="iddb4993f368d4549967bdcf9e55cfdfd_I20210703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-03</instant>
        </period>
    </context>
    <context id="i6b926140584b4a4685093bbd7947ed29_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2017NonqualifiedEmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i3b2706e65f9d4a3fb1e79776d84855ff_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2017NonqualifiedEmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i24d43847619741dda3d74e2156da7882_D20210703-20210703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">calx:A2017NonqualifiedEmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-03</startDate>
            <endDate>2021-07-03</endDate>
        </period>
    </context>
    <context id="i23ce2f571e714241971993dc677f88e3_D20210704-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">calx:CostOfRevenueProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-04</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i854c98d6d03d473d939ced27470817f8_D20200628-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">calx:CostOfRevenueProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-28</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i9ec4341d83144a43a9c8ed72830666ae_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">calx:CostOfRevenueProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i0c6f53deca22451494b38b6e77f314f5_D20200101-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">calx:CostOfRevenueProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="id7c218565c464461bbf42b8c1981b59c_D20210704-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">calx:CostOfRevenueServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-04</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i4e0265d501074aef9cf22a481824bb52_D20200628-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">calx:CostOfRevenueServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-28</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="ibba56e0392df4d409a03c83589bf320b_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">calx:CostOfRevenueServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i805142f006874140a2357ca2d3fadb93_D20200101-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">calx:CostOfRevenueServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i1eaa5204d4a34d59b1518bdf2044dcbc_D20210704-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-04</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="ie93c1d10efe2424b8d29f09e0531e02b_D20200628-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-28</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="idf0e5507a73a432b88ae86160155afa5_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="ia3dd35b65043498a84cc0596e41c2c3f_D20200101-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i9c65bf315e424aa7bd7f39d55275dcf5_D20210704-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-04</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i772c16ce880843a79a4b7a9f4965bf5f_D20200628-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-28</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i0d80a0be320d4e61a537de0fef063e31_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="iff5a20af7a3c462e8528a4f4d682d516_D20200101-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="if51072b2344645198283c7335025b8fa_D20210704-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-04</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="ia4640ca0f38f41aca5f638a6263297b1_D20200628-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-28</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i235a40528be84d13810530591767cd1f_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="icf9046f4e00941a280e9cf365f7814ea_D20200101-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i7a14c192c5bf450ca474d4f8328b23e5_D20210704-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-04</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="ie81ab16379f9443d8ed0e4406fc75f60_D20200628-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-28</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i5866dd40f1274b219500edb6d9786f6c_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="ie4327471603842a7bb37310fd67dc1d9_D20200101-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i198b55b2686043a5978e2c543a05d85f_D20210704-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">calx:AmericasExUSMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-04</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="ie95bc8c1f34c42e288724708421461fe_D20200628-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">calx:AmericasExUSMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-28</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i133345f892f3449db0ed646235039557_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">calx:AmericasExUSMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i5a1282be7fc0436d93b71459914a311a_D20200101-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">calx:AmericasExUSMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i2d87fd78a3d04e82809ef72b8a10b1a4_D20210704-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-04</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i1170681e4f694ae4bbba3362fc1d8d8c_D20200628-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-28</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i2a2a6fe17ae248e09a7b2eaa62fd5a2d_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="ib23281bfa7fe4317bcbd88a790b697b8_D20200101-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i961412cdc07a41a09e744a1d2eca7e10_D20210704-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">calx:MiddleEastAndAfricaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-04</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="if5149a566e54487e87b55b262d0c5a5e_D20200628-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">calx:MiddleEastAndAfricaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-28</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i10b6afe9eecc499db6649e41ccea1223_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">calx:MiddleEastAndAfricaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="ife74a1e870e84efe99f6b1692a620632_D20200101-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">calx:MiddleEastAndAfricaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i97b16fb9dbc44595b6cd18f71c7a989b_D20210704-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-04</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i1366de14943043b5a122c0f766d143ad_D20200628-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-28</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i0bb51a318bc34955b186c02803dc9114_D20210101-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="ie0883f68fdce446e8c70a7b9d3bbd714_D20200101-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i134e3c2252c1429188730b923ce77e2a_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DeferredRevenueArrangementTypeAxis">calx:ProductAndServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i7b7c56ad57e143b9900a9bfb2dba51b5_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DeferredRevenueArrangementTypeAxis">calx:ProductAndServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i45960e21adcf4d1587a8690228933975_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DeferredRevenueArrangementTypeAxis">calx:ExtendedWarrantyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="ib89076c11da740c98fe91bb2c7dee146_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DeferredRevenueArrangementTypeAxis">calx:ExtendedWarrantyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="id3610bee06384aef802a6c37e5dcb5af_I20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2021-10-03</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-02</instant>
        </period>
    </context>
    <context id="i4780b123b7ca49ad991b6a42ed99f6a0_D20210704-20211002">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">calx:OneCustomerMember</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-07-04</startDate>
            <endDate>2021-10-02</endDate>
        </period>
    </context>
    <context id="i139491e76a204d21a71a06b96c379ca9_D20200628-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">calx:LumenTechnologiesIncMember</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>2020-06-28</startDate>
            <endDate>2020-09-26</endDate>
        </period>
    </context>
    <context id="i002f48457d0a4c93a0915821290e3354_D20200101-20200926">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001406666</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">calx:LumenTechnologiesIncMember</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>2020-01-01</startDate>
            <endDate>2020-09-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="plan">
        <measure>calx:Plan</measure>
    </unit>
    <unit id="period">
        <measure>calx:period</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80L2ZyYWc6NzI0ZWQzNTIxZWY3NDFmNzg3ZTU4NzVmYTU3NWI2NDkvdGFibGU6ZmM4ZDk1YmEwYzY4NDg5NjhkOTU4NTk3YzgwZmEzMTYvdGFibGVyYW5nZTpmYzhkOTViYTBjNjg0ODk2OGQ5NTg1OTdjODBmYTMxNl8yLTEtMS0xLTU0NTE_9e1a3e56-d5ab-481a-8e2c-7eaa2adf456d">0001406666</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80L2ZyYWc6NzI0ZWQzNTIxZWY3NDFmNzg3ZTU4NzVmYTU3NWI2NDkvdGFibGU6ZmM4ZDk1YmEwYzY4NDg5NjhkOTU4NTk3YzgwZmEzMTYvdGFibGVyYW5nZTpmYzhkOTViYTBjNjg0ODk2OGQ5NTg1OTdjODBmYTMxNl8zLTEtMS0xLTU0NTE_70fff44b-fff8-4fa4-927c-f389ba38e635">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80L2ZyYWc6NzI0ZWQzNTIxZWY3NDFmNzg3ZTU4NzVmYTU3NWI2NDkvdGFibGU6ZmM4ZDk1YmEwYzY4NDg5NjhkOTU4NTk3YzgwZmEzMTYvdGFibGVyYW5nZTpmYzhkOTViYTBjNjg0ODk2OGQ5NTg1OTdjODBmYTMxNl80LTEtMS0xLTU0NTE_29bcf62b-d48d-4655-8d4b-5aba31290167">2021</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80L2ZyYWc6NzI0ZWQzNTIxZWY3NDFmNzg3ZTU4NzVmYTU3NWI2NDkvdGFibGU6ZmM4ZDk1YmEwYzY4NDg5NjhkOTU4NTk3YzgwZmEzMTYvdGFibGVyYW5nZTpmYzhkOTViYTBjNjg0ODk2OGQ5NTg1OTdjODBmYTMxNl81LTEtMS0xLTU0NTE_722fef79-d6bf-49ab-a3ce-0e840a699e74">Q3</dei:DocumentFiscalPeriodFocus>
    <dei:CurrentFiscalYearEndDate
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80L2ZyYWc6NzI0ZWQzNTIxZWY3NDFmNzg3ZTU4NzVmYTU3NWI2NDkvdGFibGU6ZmM4ZDk1YmEwYzY4NDg5NjhkOTU4NTk3YzgwZmEzMTYvdGFibGVyYW5nZTpmYzhkOTViYTBjNjg0ODk2OGQ5NTg1OTdjODBmYTMxNl82LTEtMS0xLTU0NTE_b48109de-8645-4013-b353-336563b06449">--12-31</dei:CurrentFiscalYearEndDate>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmIzN2YyOWZkNGJiNjRjZDBiMmFhMGM1NDM4ODBiOWRhL3RhYmxlcmFuZ2U6YjM3ZjI5ZmQ0YmI2NGNkMGIyYWEwYzU0Mzg4MGI5ZGFfMS0wLTEtMS01NDUx_31b3eaa5-08ea-4bbe-a999-f87feedfed4b">us-gaap:AccruedLiabilitiesCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="id3610bee06384aef802a6c37e5dcb5af_I20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82MS9mcmFnOjZmMjBjZDZkODdlYjQ3NTY4MzAzOGY2YWVlNDc0Y2MxL3RhYmxlOjRiMDQ3NjdmZWE5NTQxNjQ4MmRjNjA4Zjc1MmNlOWI0L3RhYmxlcmFuZ2U6NGIwNDc2N2ZlYTk1NDE2NDgyZGM2MDhmNzUyY2U5YjRfMi0xLTEtMS01NDUx_cd579dd8-efcd-4cef-8295-00e898c6b240">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <dei:DocumentType
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18yMDYy_3c965016-9c6f-4cdb-8dfd-2f24e2371a4b">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGFibGU6ZWQ4ZmNhZWVmYTRjNDk4Zjg2OTc4OGFmZDVlYTkzNmEvdGFibGVyYW5nZTplZDhmY2FlZWZhNGM0OThmODY5Nzg4YWZkNWVhOTM2YV8wLTAtMS0xLTU0NTE_14764d41-3f6c-4593-9771-046ceca3b7ed">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18xMzM_dfdc626b-e790-4652-a896-a886c5ecb958">2021-10-02</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGFibGU6ODViMTc2OGZmYTY2NGMzZGI0NmJiNGE1OTkxMThiMjUvdGFibGVyYW5nZTo4NWIxNzY4ZmZhNjY0YzNkYjQ2YmI0YTU5OTExOGIyNV8wLTAtMS0xLTU0NTE_44bde2cb-1bef-4655-8a28-e76dbe0d0765">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18yMDYz_e3f711a2-f8ad-4dd2-8220-78ba4aa19f10">001-34674</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18yMDY0_6554d4c1-7193-4961-b1b9-a39b46b92d92">Calix, Inc</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGFibGU6YjBkMmI2MmVmMGE0NGZiOWJlMWIwNDExZmI3YTIzMmUvdGFibGVyYW5nZTpiMGQyYjYyZWYwYTQ0ZmI5YmUxYjA0MTFmYjdhMjMyZV8wLTAtMS0xLTU0NTE_59e7079d-15de-4d9a-93dc-1fa42ddfdd71">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGFibGU6YjBkMmI2MmVmMGE0NGZiOWJlMWIwNDExZmI3YTIzMmUvdGFibGVyYW5nZTpiMGQyYjYyZWYwYTQ0ZmI5YmUxYjA0MTFmYjdhMjMyZV8wLTItMS0xLTU0NTE_0659fffe-088b-4379-bf98-b1d979e313af">68-0438710</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18yMDY1_52e3b2f6-96fe-4a6c-8aa4-811e9b30ab74">2777 Orchard Parkway</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18yMDY3_0e136b0d-96b0-4d75-8e11-23134609e386">San Jose</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18yMDY2_3596b43b-ebd5-47be-abb0-c200e7f493fb">CA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18zNDM_a51fa5bc-6543-4b43-a7b5-c43b6bf806af">95134</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18zOTk_3a7929b1-87ef-42c3-adf1-784c2733c7a7">408</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18yMDU5_1682dbb5-d8de-4be9-a2c0-3d97cb39f414">514-3000</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGFibGU6ZGNmYTE1OWZkOTYyNDVhN2E3ODg3NDBjZGFlYjQwY2MvdGFibGVyYW5nZTpkY2ZhMTU5ZmQ5NjI0NWE3YTc4ODc0MGNkYWViNDBjY18xLTAtMS0xLTU0NTE_366d9dad-de84-490e-a7fb-731f39478b6a">Common Stock, par value $0.025 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGFibGU6ZGNmYTE1OWZkOTYyNDVhN2E3ODg3NDBjZGFlYjQwY2MvdGFibGVyYW5nZTpkY2ZhMTU5ZmQ5NjI0NWE3YTc4ODc0MGNkYWViNDBjY18xLTItMS0xLTU0NTE_816ed11e-9330-400d-b616-de63acbc43d9">CALX</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGFibGU6ZGNmYTE1OWZkOTYyNDVhN2E3ODg3NDBjZGFlYjQwY2MvdGFibGVyYW5nZTpkY2ZhMTU5ZmQ5NjI0NWE3YTc4ODc0MGNkYWViNDBjY18xLTQtMS0xLTU0NTE_82d5c95d-b176-471d-95c7-6266971caf94">NYSE</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18yMDYw_28895812-1ead-43b5-a1ec-a9d04f500bf9">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18yMDYx_b805d87e-93f4-486e-bee4-870a45b07c6c">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGFibGU6N2FhYjU4ZjBmNmZiNDlmNWE2NzFkYWI1ODBjNGY2NGQvdGFibGVyYW5nZTo3YWFiNThmMGY2ZmI0OWY1YTY3MWRhYjU4MGM0ZjY0ZF8wLTUtMS0xLTU0NTE_f20ef6d9-dea9-417e-81c9-4aa906250225">Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGFibGU6N2FhYjU4ZjBmNmZiNDlmNWE2NzFkYWI1ODBjNGY2NGQvdGFibGVyYW5nZTo3YWFiNThmMGY2ZmI0OWY1YTY3MWRhYjU4MGM0ZjY0ZF8yLTctMS0xLTU0NTE_173eec5a-2ad2-4982-8a25-ecdc56d50c7c">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGFibGU6N2FhYjU4ZjBmNmZiNDlmNWE2NzFkYWI1ODBjNGY2NGQvdGFibGVyYW5nZTo3YWFiNThmMGY2ZmI0OWY1YTY3MWRhYjU4MGM0ZjY0ZF80LTItMS0xLTU0NTE_0a691c43-a07b-4022-84d5-74604b4544f6">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18xOTU0_465efa49-080a-445e-971c-a33e383d657c">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i739c36f9cdf14f7794a78f02788788f0_I20211018"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xL2ZyYWc6MTYzMTcwNDY5OWY5NDk5NDg1ZGQzOWZlYTkxMzhjMGMvdGV4dHJlZ2lvbjoxNjMxNzA0Njk5Zjk0OTk0ODVkZDM5ZmVhOTEzOGMwY18xOTg3_1453bf6d-d8d8-45e5-b1f7-6113fec93675"
      unitRef="shares">63756160</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfNC0yLTEtMS01NDUx_0e2a0707-c69c-4a90-b46c-40b52d271d54"
      unitRef="usd">60215000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfNC00LTEtMS01NDUx_c67ba7bc-2946-43b8-919d-9b3ba2b06244"
      unitRef="usd">80807000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfNS0yLTEtMS01NDUx_c79ee944-5ad8-4f5e-8a87-246277861e25"
      unitRef="usd">128492000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfNS00LTEtMS01NDUx_a01f1d77-16ad-4287-b517-7a5986c7dc26"
      unitRef="usd">52982000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfNi0yLTEtMS01NDUx_acb6e06f-c30e-4f9e-9fc6-2c75c8d67b64"
      unitRef="usd">91929000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfNi00LTEtMS01NDUx_9c507bbc-42ab-4949-a95b-221be702c98b"
      unitRef="usd">69419000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfNy0yLTEtMS01NDUx_6514a208-35e9-437c-9c48-b11e2fbb48e0"
      unitRef="usd">75166000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfNy00LTEtMS01NDUx_583d1074-1fb4-4dce-ae48-157bcd702985"
      unitRef="usd">52268000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfOC0yLTEtMS01NDUx_d1e4dbe4-531c-42fa-b3c5-302e60ff48ba"
      unitRef="usd">18957000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfOC00LTEtMS01NDUx_52ce3680-ea12-4fca-8ac5-f956c703e3dc"
      unitRef="usd">11414000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfOS0yLTEtMS01NDUx_b6857670-a621-4a95-8be4-84ac06ff8fd3"
      unitRef="usd">374759000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfOS00LTEtMS01NDUx_98251d7d-2160-4041-88ce-70ac0492afff"
      unitRef="usd">266890000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTAtMi0xLTEtNTQ1MQ_5680d4be-3cf3-4eb8-8bc1-8147fc129c67"
      unitRef="usd">20960000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTAtNC0xLTEtNTQ1MQ_224a8a26-182d-4905-9da7-8b01dc0e1510"
      unitRef="usd">20381000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTEtMi0xLTEtNTQ1MQ_e86d8fc5-4e7e-42a9-973f-68c6bfce22c3"
      unitRef="usd">10841000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTEtNC0xLTEtNTQ1MQ_cf0a9b6c-a652-41c8-8584-7c7ce8eac9bc"
      unitRef="usd">11741000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTItMi0xLTEtMTYwMzU_5bf685a0-0daf-4d9b-ab1c-d7ec75002acb"
      unitRef="usd">161968000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTItNC0xLTEtMTYwMzU_40d53388-8201-4545-a4db-54b1a6e90b07"
      unitRef="usd">0</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:Goodwill
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTItMi0xLTEtNTQ1MQ_74ae6001-aa8a-4769-b611-098db7bb1760"
      unitRef="usd">116175000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTItNC0xLTEtNTQ1MQ_f317f67c-ddc6-4606-b33d-27b10937d550"
      unitRef="usd">116175000</us-gaap:Goodwill>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTMtMi0xLTEtNTQ1MQ_a41c41e2-3518-4a1c-b403-015f95657fe0"
      unitRef="usd">11014000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTMtNC0xLTEtNTQ1MQ_8968da95-00cd-47ad-a6e0-2a2b6874402b"
      unitRef="usd">12165000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTQtMi0xLTEtNTQ1MQ_2a816180-7a75-4182-bc4f-5bd29cf726a8"
      unitRef="usd">695717000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTQtNC0xLTEtNTQ1MQ_39da9cb4-98a5-4d6f-8df7-1993832fc555"
      unitRef="usd">427352000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTctMi0xLTEtNTQ1MQ_a5b37f63-f86f-4a75-9ea1-a944ad008782"
      unitRef="usd">31340000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTctNC0xLTEtNTQ1MQ_e5942534-25e7-44f4-b463-2a849ef0f154"
      unitRef="usd">13115000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTgtMi0xLTEtNTQ1MQ_2edba4ea-68d7-4b0b-91fb-bce195df8f0d"
      unitRef="usd">61444000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTgtNC0xLTEtNTQ1MQ_473e31de-5846-4832-b849-fd141a7b24ec"
      unitRef="usd">68736000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTktMi0xLTEtNTQ1MQ_6949014f-ffa5-4f0b-8391-484bae54cceb"
      unitRef="usd">24217000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMTktNC0xLTEtNTQ1MQ_6ecb0eeb-f435-4a3b-b1d5-02aaa24af75d"
      unitRef="usd">19189000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjAtMi0xLTEtNTQ1MQ_af5b07cc-22cc-474c-94ed-41218eafa552"
      unitRef="usd">117001000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjAtNC0xLTEtNTQ1MQ_61a9f746-506a-4309-9aed-80effd4fea79"
      unitRef="usd">101040000</us-gaap:LiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjEtMi0xLTEtNTQ1MQ_d28c6adf-2f5c-4706-9467-0189d1bd656f"
      unitRef="usd">21568000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjEtNC0xLTEtNTQ1MQ_e076061e-391d-4ed6-89c0-2d3c36234460"
      unitRef="usd">19904000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjItMi0xLTEtNTQ1MQ_0606775e-e82f-45a0-bf07-f63d8f15e86b"
      unitRef="usd">11516000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjItNC0xLTEtNTQ1MQ_99ebea99-8fdf-4902-a79d-f6c5e8320682"
      unitRef="usd">12946000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjMtMi0xLTEtNTQ1MQ_34e1d5ff-319f-4062-b5ec-ae0402d256eb"
      unitRef="usd">10006000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjMtNC0xLTEtNTQ1MQ_7ca24ab3-aef9-4ea4-bab3-338ba996ef79"
      unitRef="usd">13137000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjQtMi0xLTEtNTQ1MQ_1370f75d-70a3-43c7-8c9e-01a95158969c"
      unitRef="usd">160091000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjQtNC0xLTEtNTQ1MQ_9ec6b84b-9957-4660-a931-a7e70ad9ce67"
      unitRef="usd">147027000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjUtMi0xLTEtNTQ1MQ_2a7e2ce1-4324-4b4b-b99d-6102992e70cf"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjUtNC0xLTEtNTQ1MQ_842d5914-a746-4fa9-a0ed-13350af1ed72"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjctMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjMzNjljN2U2NmJiODRlNDRhNTQyZGMzY2IwOTYwYjFmXzIx_f77f5f0d-9701-4b42-aa2b-540a987301d8"
      unitRef="usdPerShare">0.025</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjctMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjMzNjljN2U2NmJiODRlNDRhNTQyZGMzY2IwOTYwYjFmXzIx_fd8564f8-dfac-450a-bb34-079f6390c15f"
      unitRef="usdPerShare">0.025</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjctMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjMzNjljN2U2NmJiODRlNDRhNTQyZGMzY2IwOTYwYjFmXzM1_97584bcc-aa44-42d7-9d91-2a0b64ad69ee"
      unitRef="shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjctMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjMzNjljN2U2NmJiODRlNDRhNTQyZGMzY2IwOTYwYjFmXzM1_ae284369-9c57-4c68-89a0-86222e7f8299"
      unitRef="shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjctMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjMzNjljN2U2NmJiODRlNDRhNTQyZGMzY2IwOTYwYjFmXzU3_5542f4ee-f861-4565-9a43-edac1a904bde"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjctMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjMzNjljN2U2NmJiODRlNDRhNTQyZGMzY2IwOTYwYjFmXzU3_642dd2a6-cada-4829-b430-9ee4cf61043a"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjctMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjMzNjljN2U2NmJiODRlNDRhNTQyZGMzY2IwOTYwYjFmXzU3_6de19c41-327e-4d3c-a552-7d448d6baf10"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjctMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjMzNjljN2U2NmJiODRlNDRhNTQyZGMzY2IwOTYwYjFmXzU3_82d0a369-71af-4d45-a8ae-6c63a6d4b3bb"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockValue
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjctMi0xLTEtNTQ1MQ_b17a07d9-9bad-4595-9fef-626525bc114f"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjctNC0xLTEtNTQ1MQ_80b32338-e2d9-41e8-bd6d-ab69c7063122"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjgtMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjc1ZWExYzEyM2RlZjQwNWI5M2I0ZjFiN2ZhM2ZiN2M1XzE4_45130183-4038-4f2e-931d-5d0a57711cb0"
      unitRef="usdPerShare">0.025</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjgtMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjc1ZWExYzEyM2RlZjQwNWI5M2I0ZjFiN2ZhM2ZiN2M1XzE4_8a7bd4ea-49b8-4dea-b63f-04f7457a537c"
      unitRef="usdPerShare">0.025</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjgtMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjc1ZWExYzEyM2RlZjQwNWI5M2I0ZjFiN2ZhM2ZiN2M1XzMy_b4aa675e-55c8-4558-8c17-280c4bb4fd33"
      unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjgtMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjc1ZWExYzEyM2RlZjQwNWI5M2I0ZjFiN2ZhM2ZiN2M1XzMy_d71d9763-bb0c-4784-8bbe-90248a583978"
      unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjgtMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjc1ZWExYzEyM2RlZjQwNWI5M2I0ZjFiN2ZhM2ZiN2M1XzU0_724e3245-d11b-49be-9e9d-e4c14dd44818"
      unitRef="shares">63732000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjgtMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjc1ZWExYzEyM2RlZjQwNWI5M2I0ZjFiN2ZhM2ZiN2M1XzU0_d9a7886f-453c-4cf8-9f5c-f07cc62b6179"
      unitRef="shares">63732000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjgtMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjc1ZWExYzEyM2RlZjQwNWI5M2I0ZjFiN2ZhM2ZiN2M1XzExMQ_21fbde04-f5af-439e-a57e-41a41cfee2e3"
      unitRef="shares">62122000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjgtMC0xLTEtNTQ1MS90ZXh0cmVnaW9uOjc1ZWExYzEyM2RlZjQwNWI5M2I0ZjFiN2ZhM2ZiN2M1XzExMQ_7fc625b4-7c9f-4912-9961-b5436632bd06"
      unitRef="shares">62122000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjgtMi0xLTEtNTQ1MQ_ea48cc95-cabc-4405-909b-2da9fc8b7cab"
      unitRef="usd">1594000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjgtNC0xLTEtNTQ1MQ_57019fca-e430-4a73-b131-476681fe48eb"
      unitRef="usd">1553000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjktMi0xLTEtNTQ1MQ_5e8b154d-f4f5-4ed6-9f4b-a6ffe6fb605f"
      unitRef="usd">984833000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMjktNC0xLTEtNTQ1MQ_eb053245-b203-4bf0-bfdf-f909986300fe"
      unitRef="usd">948055000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMzAtMi0xLTEtNTQ1MQ_39dfcafc-47af-433c-918d-1a90bddcbb5f"
      unitRef="usd">-206000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMzAtNC0xLTEtNTQ1MQ_0fa32072-ad53-4b3f-9ce6-1fcb28493db8"
      unitRef="usd">-191000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMzEtMi0xLTEtNTQ1MQ_0c4340d2-9a15-4278-8967-798a8cd64bc1"
      unitRef="usd">-450595000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMzEtNC0xLTEtNTQ1MQ_a1f9422a-f1ef-4536-93ac-68630bc85aef"
      unitRef="usd">-669092000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMzItMi0xLTEtNTQ1MQ_dc342a19-d70e-4ea0-95e4-beebf2774e92"
      unitRef="usd">535626000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMzItNC0xLTEtNTQ1MQ_8cca8e97-6aa4-4db0-a479-3970a17aedfd"
      unitRef="usd">280325000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMzMtMi0xLTEtNTQ1MQ_218232ec-53f8-437a-a94a-be67a5a89f1e"
      unitRef="usd">695717000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xNi9mcmFnOjg3YTM0OTlkZTk1ZjRkY2ZiOTJhMGE0ODJhMmJkMWY5L3RhYmxlOjE0ZTIxM2M2ZTZlNTQ2NWNhZmVkOTg1ZjJiYzQ4NWJmL3RhYmxlcmFuZ2U6MTRlMjEzYzZlNmU1NDY1Y2FmZWQ5ODVmMmJjNDg1YmZfMzMtNC0xLTEtNTQ1MQ_473e0776-695c-4466-9b30-3e586513daf3"
      unitRef="usd">427352000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i713404b8f56641e49de98167821fceca_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMy0yLTEtMS01NDUx_a1d898c4-8665-4c68-a220-4c7ef08aa3e9"
      unitRef="usd">163076000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i4753558e8825419791b17ca7d213063f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMy00LTEtMS01NDUx_42eca661-63e9-46d7-b7ce-b9e27fdda512"
      unitRef="usd">142294000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i877cb3ea439641b19d355312355d304a_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMy02LTEtMS01NDUx_72e1d122-fbd5-45a0-bff9-f31b651098a2"
      unitRef="usd">475931000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="if645262fc12448669e387313b6f982eb_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMy04LTEtMS01NDUx_d711d0ce-0b73-4558-9c00-26e910005e0d"
      unitRef="usd">347644000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="if100dab6087c4813b6e331aa16b6d287_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNC0yLTEtMS01NDUx_d3396f3a-fd15-4e4a-8ce2-b4f78db7fb03"
      unitRef="usd">9155000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ied5a853db0a9401392cd1be0b489e96d_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNC00LTEtMS01NDUx_3cde5c51-28c5-42b6-8459-eb6559e4c51c"
      unitRef="usd">8214000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i2816fb445ef844e39a36716ddf457529_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNC02LTEtMS01NDUx_e8cb792a-0e29-406f-b1f2-2f93d2711088"
      unitRef="usd">27044000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i4b3a8a37d33c485f979ef0b1b1d24699_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNC04LTEtMS01NDUx_ad46672c-b56e-441d-8c63-a677edac286f"
      unitRef="usd">23569000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNS0yLTEtMS01NDUx_9b58ba8b-99fd-4d1b-855b-41f83bcf8eef"
      unitRef="usd">172231000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNS00LTEtMS01NDUx_6de980de-2cbc-410f-9ac6-e38079a90fd7"
      unitRef="usd">150508000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNS02LTEtMS01NDUx_42892cd5-cddc-4925-9d55-684896753baa"
      unitRef="usd">502975000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNS04LTEtMS01NDUx_0d0ffeee-947b-4694-a8bc-66534c48626b"
      unitRef="usd">371213000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i713404b8f56641e49de98167821fceca_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNy0yLTEtMS01NDUx_dc8e9e94-37f8-4ed5-9017-d9cb82ab982d"
      unitRef="usd">76339000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i4753558e8825419791b17ca7d213063f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNy00LTEtMS01NDUx_b924d64f-a15d-4526-8ec6-9c144a30e921"
      unitRef="usd">68889000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i877cb3ea439641b19d355312355d304a_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNy02LTEtMS01NDUx_90a53c9f-975a-4db5-abf2-90ef5d435b40"
      unitRef="usd">218675000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="if645262fc12448669e387313b6f982eb_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNy04LTEtMS01NDUx_a75c2eb3-c809-406b-b0c6-8d12034b051c"
      unitRef="usd">176318000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="if100dab6087c4813b6e331aa16b6d287_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfOC0yLTEtMS01NDUx_66886fc9-4d9c-463c-9a96-9c86030b6a7f"
      unitRef="usd">6399000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ied5a853db0a9401392cd1be0b489e96d_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfOC00LTEtMS01NDUx_7d319a1b-d4e0-417b-b95a-d2274fb3acea"
      unitRef="usd">5644000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i2816fb445ef844e39a36716ddf457529_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfOC02LTEtMS01NDUx_65745ddd-edd6-457b-9098-5352b7527162"
      unitRef="usd">18946000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i4b3a8a37d33c485f979ef0b1b1d24699_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfOC04LTEtMS01NDUx_f1eb31da-bafc-45ab-a1ab-ff6239086658"
      unitRef="usd">16891000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfOS0yLTEtMS01NDUx_2b22591f-62e9-41ca-8498-17b7d409d1e7"
      unitRef="usd">82738000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfOS00LTEtMS01NDUx_16188e5f-e732-4694-8cb2-f4e25b1371d5"
      unitRef="usd">74533000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfOS02LTEtMS01NDUx_dbdfde2c-e74b-4c17-ac07-12689ccadd98"
      unitRef="usd">237621000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfOS04LTEtMS01NDUx_4f4f15c6-08db-4169-86c5-07fc9f3bda3a"
      unitRef="usd">193209000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTAtMi0xLTEtNTQ1MQ_681e7b64-f91a-4c46-af62-155f7c6802d3"
      unitRef="usd">89493000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTAtNC0xLTEtNTQ1MQ_5e654bd3-486f-4bdd-a161-d920a839692d"
      unitRef="usd">75975000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTAtNi0xLTEtNTQ1MQ_89791e09-5007-4422-aca4-dbfa2b07bd2a"
      unitRef="usd">265354000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTAtOC0xLTEtNTQ1MQ_b13c6170-1246-46e5-9745-871dd3c53e04"
      unitRef="usd">178004000</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTItMi0xLTEtNTQ1MQ_4736d3b5-814f-4ccc-8490-cb174dfee543"
      unitRef="usd">31144000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTItNC0xLTEtNTQ1MQ_df89748a-624c-4a4c-8b33-eecc007f844c"
      unitRef="usd">23079000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTItNi0xLTEtNTQ1MQ_f2e9a244-07fa-40b9-986f-84d3bc30cf67"
      unitRef="usd">88905000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTItOC0xLTEtNTQ1MQ_78378b78-a4e2-45a6-ae2e-6fd25c0d30be"
      unitRef="usd">65046000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTMtMi0xLTEtNTQ1MQ_23e2de58-0680-473f-b6b7-e6c530189de1"
      unitRef="usd">25727000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTMtNC0xLTEtNTQ1MQ_2ac3488b-85a8-4024-ba77-a84d8e4d4709"
      unitRef="usd">20378000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTMtNi0xLTEtNTQ1MQ_83fd1867-9bfa-4a5b-b30e-5018958cc2a7"
      unitRef="usd">75807000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTMtOC0xLTEtNTQ1MQ_5ec08f5b-8d31-4b59-8ef4-43343a6d4dad"
      unitRef="usd">61970000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTQtMi0xLTEtNTQ1MQ_10064e2a-555e-4f7c-8317-0b7360411f5c"
      unitRef="usd">14631000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTQtNC0xLTEtNTQ1MQ_5d9eb3e8-0317-4911-888e-9596daa36bb5"
      unitRef="usd">10768000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTQtNi0xLTEtNTQ1MQ_356fdbfc-0834-4df4-b7d7-4d2eba7edadf"
      unitRef="usd">41320000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTQtOC0xLTEtNTQ1MQ_298477e8-1226-4bd6-ac94-68bbc8a9d4ec"
      unitRef="usd">32630000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:RestructuringCharges
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTUtMi0xLTEtNTQ1MQ_6c6b79cc-b0e5-4551-835f-7e6b06c5ff8f"
      unitRef="usd">0</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTUtNC0xLTEtNTQ1MQ_f8c93317-23ce-488d-b0c1-3f5e68f0d06a"
      unitRef="usd">0</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTUtNi0xLTEtNTQ1MQ_2d47f30c-57c2-4151-be0b-73e056a2481c"
      unitRef="usd">0</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTUtOC0xLTEtNTQ1MQ_1557fff2-4c3c-4967-b79e-4bd42bbe2b6c"
      unitRef="usd">6286000</us-gaap:RestructuringCharges>
    <us-gaap:OperatingExpenses
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTctMi0xLTEtNTQ1MQ_e56abda2-6e18-4b02-bcd8-cdfa4e7ec650"
      unitRef="usd">71502000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTctNC0xLTEtNTQ1MQ_7ced89b4-1d16-4855-8998-f8e8cbeee7c7"
      unitRef="usd">54225000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTctNi0xLTEtNTQ1MQ_4e70bf52-27cf-422c-b4b0-f8157498faa5"
      unitRef="usd">206032000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTctOC0xLTEtNTQ1MQ_03d2ab98-1470-4bef-b1ac-7924880b88d3"
      unitRef="usd">165932000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTgtMi0xLTEtNTQ1MQ_21e5e5c0-41ca-46f1-b39d-01536c8ee682"
      unitRef="usd">17991000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTgtNC0xLTEtNTQ1MQ_5b71f25e-1269-413e-bae0-6e39687753a8"
      unitRef="usd">21750000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTgtNi0xLTEtNTQ1MQ_54eca8e3-ef97-4eb8-9fe4-97e133bf2c90"
      unitRef="usd">59322000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMTgtOC0xLTEtNTQ1MQ_9d2d4f8f-0419-48ea-b3f9-3629167eadbb"
      unitRef="usd">12072000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjAtMi0xLTEtNTQ1MQ_bda80c13-a782-4b5c-a02e-b4cbc891ab4b"
      unitRef="usd">-86000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjAtNC0xLTEtNTQ1MQ_d51711ae-1158-446f-820b-c038af60a996"
      unitRef="usd">-356000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjAtNi0xLTEtNTQ1MQ_d7949b73-275d-4d2c-8386-e821a5d5287a"
      unitRef="usd">-330000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjAtOC0xLTEtNTQ1MQ_3a1e727b-26df-4ea0-a2e2-795e9e1c19d9"
      unitRef="usd">-1263000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjEtMi0xLTEtNTQ1MQ_5a139b74-564a-4ed4-a083-baa5db3bc4dc"
      unitRef="usd">-463000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjEtNC0xLTEtNTQ1MQ_43c8a261-153d-4c67-a397-b56eeea7452f"
      unitRef="usd">-707000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjEtNi0xLTEtNTQ1MQ_f7eb587c-80d3-49b1-bd2a-690b7f8ca8cc"
      unitRef="usd">-120000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjEtOC0xLTEtNTQ1MQ_ad9d515a-5776-4c0f-9873-f1b73c3a4441"
      unitRef="usd">-801000</us-gaap:OtherNonoperatingIncomeExpense>
    <calx:InterestAndOtherIncomeExpenseNonoperating
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjItMi0xLTEtNTQ1MQ_c2a90242-f10d-4379-9cc0-40f7b343b2bf"
      unitRef="usd">-549000</calx:InterestAndOtherIncomeExpenseNonoperating>
    <calx:InterestAndOtherIncomeExpenseNonoperating
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjItNC0xLTEtNTQ1MQ_cfca0768-7f57-41ef-ae51-fb6d393a34b9"
      unitRef="usd">-1063000</calx:InterestAndOtherIncomeExpenseNonoperating>
    <calx:InterestAndOtherIncomeExpenseNonoperating
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjItNi0xLTEtNTQ1MQ_49871058-1b2f-48f0-a0bb-344c6624c967"
      unitRef="usd">-450000</calx:InterestAndOtherIncomeExpenseNonoperating>
    <calx:InterestAndOtherIncomeExpenseNonoperating
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjItOC0xLTEtNTQ1MQ_f82e9ef5-54d0-402c-801c-04ed54abb07a"
      unitRef="usd">-2064000</calx:InterestAndOtherIncomeExpenseNonoperating>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjMtMi0xLTEtNTQ1MQ_5d432fc7-e43a-4c55-aec9-6aaf198ab796"
      unitRef="usd">17442000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjMtNC0xLTEtNTQ1MQ_95350d1f-6420-439b-a148-3225400bd687"
      unitRef="usd">20687000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjMtNi0xLTEtNTQ1MQ_a4d5fd38-c308-4a0c-9403-a49e94843084"
      unitRef="usd">58872000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjMtOC0xLTEtNTQ1MQ_ec898e7b-9b16-4bbb-8f2d-4da7922f6288"
      unitRef="usd">10008000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjQtMi0xLTEtNTQ1MQ_eefc8b3a-0e05-4770-a75f-8c66a1715038"
      unitRef="usd">-159982000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjQtNC0xLTEtNTQ1MQ_d020b24f-85bb-4c4f-b32b-a2a8f7624979"
      unitRef="usd">149000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjQtNi0xLTEtNTQ1MQ_d54af962-c546-403d-803c-47c4fa45f292"
      unitRef="usd">-159625000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjQtOC0xLTEtNTQ1MQ_2077c48d-ccf9-4956-8029-ef1b46a78d7d"
      unitRef="usd">626000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjUtMi0xLTEtNTQ1MQ_97124708-bf70-4eba-a710-4b8efa98f7ad"
      unitRef="usd">177424000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjUtNC0xLTEtNTQ1MQ_db29d3f7-7bce-4750-a7fe-a9c7e0a7265a"
      unitRef="usd">20538000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjUtNi0xLTEtNTQ1MQ_5f7f1356-6b27-4230-8e56-508be32331af"
      unitRef="usd">218497000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjUtOC0xLTEtNTQ1MQ_53d0cbad-b1ce-4428-b741-2aa3be7de2d8"
      unitRef="usd">9382000</us-gaap:ProfitLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjctMi0xLTEtNTQ1MQ_063eb1ee-8026-4afe-be2b-04e90d00cb12"
      unitRef="usdPerShare">2.79</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjctNC0xLTEtNTQ1MQ_319b0f01-b0aa-457e-8d31-5bc56d6dfb54"
      unitRef="usdPerShare">0.34</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjctNi0xLTEtNTQ1MQ_6c11bca7-8cd5-49d0-bf2f-812b301427bf"
      unitRef="usdPerShare">3.47</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjctOC0xLTEtNTQ1MQ_c213173a-ec2f-475c-a8e7-2e670ae14d50"
      unitRef="usdPerShare">0.16</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjgtMi0xLTEtNTQ1MQ_487cc4be-5b8c-4433-851f-024ba7df036a"
      unitRef="usdPerShare">2.61</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjgtNC0xLTEtNTQ1MQ_2582438d-c3dc-43f0-bc9f-52afff07c96a"
      unitRef="usdPerShare">0.32</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjgtNi0xLTEtNTQ1MQ_a1eab2c7-0a90-4619-aaa0-bf11dafdb0fe"
      unitRef="usdPerShare">3.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMjgtOC0xLTEtNTQ1MQ_c860f65b-015a-4dea-a5dc-82f49997fdaf"
      unitRef="usdPerShare">0.16</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzEtMi0xLTEtNTQ1MQ_b71d34cf-0544-41a8-b977-6768fb69d959"
      unitRef="shares">63588000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzEtNC0xLTEtNTQ1MQ_166438bc-d1a7-4736-a2b6-f24cb292f142"
      unitRef="shares">60307000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzEtNi0xLTEtNTQ1MQ_1ca50b44-c676-4986-afd6-c5c431a509ee"
      unitRef="shares">63057000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzEtOC0xLTEtNTQ1MQ_f2334189-0f9c-45ef-a508-30ca34f6ec52"
      unitRef="shares">58053000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzItMi0xLTEtNTQ1MQ_72d97253-a319-42d0-95fd-5bdb65dddd0c"
      unitRef="shares">67907000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzItNC0xLTEtNTQ1MQ_b90ca7b6-428e-48b7-9dee-be90eed4b659"
      unitRef="shares">63449000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzItNi0xLTEtNTQ1MQ_321433ff-c13e-4753-9ba6-e9fdea479c12"
      unitRef="shares">67537000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzItOC0xLTEtNTQ1MQ_e59f06f2-3fdb-468c-8251-f93a1378b2d1"
      unitRef="shares">60331000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ProfitLoss
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzQtMi0xLTEtNTQ1MQ_f07a5dd6-391d-4522-b566-65435241b9fe"
      unitRef="usd">177424000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzQtNC0xLTEtNTQ1MQ_e053a632-f518-4086-810a-edf3a5bfe63b"
      unitRef="usd">20538000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzQtNi0xLTEtNTQ1MQ_6b5749d9-d687-4854-85d5-4dbd161d4a66"
      unitRef="usd">218497000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzQtOC0xLTEtNTQ1MQ_a948986e-9d9c-4915-a76b-1f9ae7ca09b0"
      unitRef="usd">9382000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzgtMi0xLTEtNTQ1MQ_d2f2896b-5617-46ed-86c6-1e1f05d8934e"
      unitRef="usd">-24000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzgtNC0xLTEtNTQ1MQ_f435d26b-7dd8-4a42-b491-cea0b78973fb"
      unitRef="usd">410000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzgtNi0xLTEtNTQ1MQ_a222742d-0ad4-455c-8035-4d4759de5c8b"
      unitRef="usd">-15000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfMzgtOC0xLTEtNTQ1MQ_bddb1875-84af-4f5b-a299-a3f1a915b104"
      unitRef="usd">161000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNDAtMi0xLTEtNTQ1MQ_3c4228ec-9386-42f9-83f4-d1e4f71c3016"
      unitRef="usd">177400000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNDAtNC0xLTEtNTQ1MQ_38350549-7bd0-4063-b1dc-f17e81e4cd33"
      unitRef="usd">20948000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNDAtNi0xLTEtNTQ1MQ_8dc152eb-c55b-439a-ab23-9bc88d564789"
      unitRef="usd">218482000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8xOS9mcmFnOjNmODg4NDY1ZmEzODQ3ZGVhZmUzYTM2MGU3N2Y5MjI4L3RhYmxlOmU4NmJkMDlkNmI4YTQzZjJhY2ZkZDBmNjJlNzBiZGI2L3RhYmxlcmFuZ2U6ZTg2YmQwOWQ2YjhhNDNmMmFjZmRkMGY2MmU3MGJkYjZfNDAtOC0xLTEtNTQ1MQ_36c51dc0-7132-4e08-b762-6d7a91f3f84e"
      unitRef="usd">9543000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i719aee2ec2074761a484a36bd8b38658_I20210703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfMi0xLTEtMS01NDUx_dde2fda5-3ab9-4c84-90f6-00b5e7003f22"
      unitRef="shares">63200000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i719aee2ec2074761a484a36bd8b38658_I20210703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfMi0zLTEtMS01NDUx_a8d1b6b7-d37f-4f37-a5de-267a66942fae"
      unitRef="usd">1580000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i96f3d0c1ebfa4f68ba141d50b140850e_I20210703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfMi01LTEtMS01NDUx_e649aa52-2304-4a8c-a1fe-ba74b53146ed"
      unitRef="usd">972259000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ibeced1c7ba50417fb67be8b1a105add6_I20210703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfMi03LTEtMS01NDUx_f27bbd7a-8a01-4304-9e34-9837e08005c3"
      unitRef="usd">-182000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i65f386b867bb4d27828de8ba7095914a_I20210703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfMi05LTEtMS01NDUx_b27658ee-5c3f-46d6-bb2e-9700095b378e"
      unitRef="usd">-628019000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4c1ad5e2de2a46189e308f662fa777c2_I20210703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfMi0xMS0xLTEtNTQ1MQ_d6d16f90-be55-4ebf-98d7-d59012b31479"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ibdff310060b846bfb5608e4f0b9de9d5_I20210703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfMi0xMy0xLTEtNTQ1MQ_9186e53d-e75f-4165-9930-c6fb1cf1c0fe"
      unitRef="usd">345638000</us-gaap:StockholdersEquity>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="iabac216f03a1461fa4f42bcdf760d959_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfMy01LTEtMS01NDUx_840e37f3-2012-48bf-a5b7-929ba0ecb16e"
      unitRef="usd">6661000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfMy0xMy0xLTEtNTQ1MQ_fa739456-4624-4528-ba11-735af02d08ff"
      unitRef="usd">6661000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i73192d159c5a494b9a92afe96c5f355d_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNC0xLTEtMS01NDUx_a1e4a70a-99a0-49a7-a5a5-3bd7b0099583"
      unitRef="shares">532000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i73192d159c5a494b9a92afe96c5f355d_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNC0zLTEtMS01NDUx_5cb3244f-6686-41ae-9e1d-e0c3441f0039"
      unitRef="usd">14000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="iabac216f03a1461fa4f42bcdf760d959_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNC01LTEtMS01NDUx_fdf33258-9cb4-4229-b694-1eb61e854fd4"
      unitRef="usd">5913000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNC0xMy0xLTEtNTQ1MQ_4c4503f4-36a5-4577-86fc-06f8f7ddac85"
      unitRef="usd">5927000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:ProfitLoss
      contextRef="i8394d1d1365743f1af0d64bc993efbf7_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNS05LTEtMS01NDUx_4a7eea11-da1b-40dd-b8d5-47f15aefb9eb"
      unitRef="usd">177424000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNS0xMy0xLTEtNTQ1MQ_5734ab97-a783-434d-ae70-92e95c3203e8"
      unitRef="usd">177424000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i81dd5b82aa524c8281fd6d86ff0ac306_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNi03LTEtMS01NDUx_0c1d1237-b944-470e-a14e-5dd3c49f91ad"
      unitRef="usd">-24000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNi0xMy0xLTEtNTQ1MQ_f5339f19-2f61-46ba-8d25-9885a7ea533e"
      unitRef="usd">-24000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ib6cbefe9b5304859aaa0042df1ff7169_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNy0xLTEtMS01NDUx_740c2d95-39b2-4caf-9a09-1f029f5fc494"
      unitRef="shares">63732000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ib6cbefe9b5304859aaa0042df1ff7169_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNy0zLTEtMS01NDUx_9b00060b-51c9-4c85-9566-d559dc49a990"
      unitRef="usd">1594000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i9f0b6e94b6524e96bf9c63cb7ebca22a_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNy01LTEtMS01NDUx_f1da49d3-7885-48a0-abd6-bb377f97d9cb"
      unitRef="usd">984833000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iab5c3d5e54444c6c9b24a13ad207e9f1_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNy03LTEtMS01NDUx_44e3742f-e1eb-45d0-baeb-1ef92a0861a0"
      unitRef="usd">-206000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6ca731aad112464c83bdf45cceba5da2_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNy05LTEtMS01NDUx_59b316e1-b413-4704-9d4e-bd15ee6f19da"
      unitRef="usd">-450595000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib6c405edb07742b0b59fb8f74773cd6e_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNy0xMS0xLTEtNTQ1MQ_3f77afe4-1845-406f-a2ca-37dc2f209fdf"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjQ2NjA3YjdjODFjOTQzN2I4MjhiMjZiMjc4ODNkYzA3L3RhYmxlcmFuZ2U6NDY2MDdiN2M4MWM5NDM3YjgyOGIyNmIyNzg4M2RjMDdfNy0xMy0xLTEtNTQ1MQ_09ed3fd0-4cea-481c-a4c1-a851f1cf948d"
      unitRef="usd">535626000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i82db4d0313534420a469f5471a357280_I20200627"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfMi0xLTEtMS01NDUx_5541fc59-0844-4bba-9a7b-96360efc2924"
      unitRef="shares">58143000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i82db4d0313534420a469f5471a357280_I20200627"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfMi0zLTEtMS01NDUx_d4ddfe94-7f42-4040-8815-30a962ab28af"
      unitRef="usd">1587000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i57afc6bf7fbf4296be86461c9162dd7a_I20200627"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfMi01LTEtMS01NDUx_0a924de9-5056-4454-8a14-ff4ce8655c3b"
      unitRef="usd">912402000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia2792190cc714ae59f3615b421fceb57_I20200627"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfMi03LTEtMS01NDUx_6b174e82-fa10-4fa2-bed2-8926f952b9da"
      unitRef="usd">-1103000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5c68251911c4458497df5c9d59ba3057_I20200627"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfMi05LTEtMS01NDUx_265fbda8-91b5-41e5-8e28-f720f54a6c79"
      unitRef="usd">-713732000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia19cc151987a4e9b86e5498de05c46be_I20200627"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfMi0xMS0xLTEtNTQ1MQ_c3b20fe3-20d1-4cbb-9792-414009a50184"
      unitRef="usd">-39986000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if85299be32f348a59681f41a2b3c4943_I20200627"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfMi0xMy0xLTEtNTQ1MQ_00adedc3-34d1-4a6c-8ae7-0b8532433408"
      unitRef="usd">159168000</us-gaap:StockholdersEquity>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ied3d352f397e42fd8677496a633e316f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfMy01LTEtMS01NDUx_087b166f-53b1-4e54-860d-a5f8a2d4973c"
      unitRef="usd">3574000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfMy0xMy0xLTEtNTQ1MQ_b2e69558-9932-4228-a054-91b93fce49e4"
      unitRef="usd">3574000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i9d3a6d150f0f4852bcb44ad5f8b5b5a7_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNC0xLTEtMS01NDUx_c0a0425d-5efb-487b-aea3-41ace0fd4e6e"
      unitRef="shares">407000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i9d3a6d150f0f4852bcb44ad5f8b5b5a7_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNC0zLTEtMS01NDUx_5f74dc62-718e-4161-901c-bdfe5a987da7"
      unitRef="usd">9000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="ied3d352f397e42fd8677496a633e316f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNC01LTEtMS01NDUx_07a4c57a-bdf0-46f6-8b3c-fcaf3551a46b"
      unitRef="usd">3769000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNC0xMy0xLTEtNTQ1MQ_97498882-72cc-4223-a855-2233c9e1d7b4"
      unitRef="usd">3778000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="i9d3a6d150f0f4852bcb44ad5f8b5b5a7_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNS0xLTEtMS0xMzg1Mw_48a92588-954e-4a40-bfd9-c4cef47462f4"
      unitRef="shares">3220000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i9d3a6d150f0f4852bcb44ad5f8b5b5a7_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNS0zLTEtMS0xMzg1Mw_a71a6267-df80-4561-9b0a-8582191bd3fb"
      unitRef="usd">82000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="ied3d352f397e42fd8677496a633e316f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNS01LTEtMS0xMzg1Mw_b7e54b79-da62-446e-a275-37d544d105d9"
      unitRef="usd">59981000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNS0xMy0xLTEtMTM4NTM_49078e88-5224-4826-803a-ed500a8680d8"
      unitRef="usd">60063000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="i9d3a6d150f0f4852bcb44ad5f8b5b5a7_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNi0zLTEtMS0xMzg1Mw_afaa3d6c-79c9-483b-850c-fcd1cc64843b"
      unitRef="usd">134000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="ied3d352f397e42fd8677496a633e316f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNi01LTEtMS0xMzg1Mw_42abb5b3-6b47-4f4d-bd94-06972a93a663"
      unitRef="usd">39852000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="i9db9ff25c808451789056a63e326d239_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNi0xMS0xLTEtMTM4NTM_af996c87-248e-4c09-9326-9903ac076451"
      unitRef="usd">-39986000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNi0xMy0xLTEtMTM4NTM_55000a9b-3680-483e-9020-25f213bad293"
      unitRef="usd">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:ProfitLoss
      contextRef="idb760cad941944dd9c89716d1f9660a1_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNS05LTEtMS01NDUx_e53afeb4-df5e-4ea3-bdb8-06f5f9ba47e0"
      unitRef="usd">20538000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNS0xMy0xLTEtNTQ1MQ_bd9e5016-1311-416d-a58c-bc2c28d2272c"
      unitRef="usd">20538000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i2dbc2fde70e34e4897d353aee3a7037a_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNi03LTEtMS01NDUx_a693d069-c826-4178-944c-c3133848e90d"
      unitRef="usd">410000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNi0xMy0xLTEtNTQ1MQ_fcc7ca54-cd84-4b4f-8331-b0d6cb64f4a0"
      unitRef="usd">410000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i713dc1c8318346e0ae59b8d0914f7f61_I20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNy0xLTEtMS01NDUx_ae821bd7-5dd7-4484-b787-b918b6f0a892"
      unitRef="shares">61770000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i713dc1c8318346e0ae59b8d0914f7f61_I20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNy0zLTEtMS01NDUx_32626257-7d38-4a10-b078-4269dcdef68b"
      unitRef="usd">1544000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i399629ec6b9c49f68307f3835617ea2c_I20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNy01LTEtMS01NDUx_a2752e60-25d2-4bca-9f70-84a650890f98"
      unitRef="usd">939874000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6856290b10384d088d66ddfcab850433_I20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNy03LTEtMS01NDUx_1833b0ed-77fb-456f-9ba9-129ef94c454b"
      unitRef="usd">-693000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i45f42dc11ed941088083eecb9e07bcbc_I20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNy05LTEtMS01NDUx_3dc914c8-a9e3-45e2-b3b0-ee9571239250"
      unitRef="usd">-693194000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic847eb288b6543caad90a00bf54a740b_I20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNy0xMS0xLTEtNTQ1MQ_d3956624-3e0e-47e0-a1a1-4cbbd8cc4849"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5b5927dd8cce44bc93f27feb4b7c149e_I20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmM0MjFjOTcwZWIzODQ4NjA4ZDQ0ZTU0NTYxN2U0Nzk2L3RhYmxlcmFuZ2U6YzQyMWM5NzBlYjM4NDg2MDhkNDRlNTQ1NjE3ZTQ3OTZfNy0xMy0xLTEtNTQ1MQ_98cc5aa1-1e52-4d02-a9cb-f5878847c5a1"
      unitRef="usd">247531000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i94d71ce498f84b9b9e061480730494ed_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfMi0xLTEtMS01NDUx_a4db38b4-2774-4cac-8769-6303a39eb5c2"
      unitRef="shares">62122000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i94d71ce498f84b9b9e061480730494ed_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfMi0zLTEtMS01NDUx_170ee027-0e7d-42eb-b1d1-8d9488361a37"
      unitRef="usd">1553000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i43fc40c3c91f4c50ae3e849790ac4358_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfMi01LTEtMS01NDUx_b30a5d8c-0452-4c69-89cd-0ba21a8d1cbe"
      unitRef="usd">948055000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iadb337735f9143f098c64a98535ed730_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfMi03LTEtMS01NDUx_8e696b60-17c9-4233-b573-6a3444e3062e"
      unitRef="usd">-191000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if43e8a75a45a4535bc4a7735f0a267dc_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfMi05LTEtMS01NDUx_a8f46be6-2883-4949-a965-1ab1ea5e7f22"
      unitRef="usd">-669092000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i34f2c7857f5a4299beb8dad5f274d66d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfMi0xMS0xLTEtNTQ1MQ_21db179c-60ba-4a69-9d92-0185851e4136"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfMi0xMy0xLTEtNTQ1MQ_484d51de-bfd6-43a7-a41b-a149cc37e574"
      unitRef="usd">280325000</us-gaap:StockholdersEquity>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ie468ca297b344933a8e6028e67ed815f_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfMy01LTEtMS01NDUx_05d62586-a244-4f54-8ef8-4112afa63bc7"
      unitRef="usd">18055000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfMy0xMy0xLTEtNTQ1MQ_f70bda90-9486-42cd-be24-1c869ae8c584"
      unitRef="usd">18055000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i762e0d8988ae4bda9907959f882fcde4_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNC0xLTEtMS01NDUx_35c6b373-5acc-46a7-96b1-0c2086bc4b95"
      unitRef="shares">1610000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i762e0d8988ae4bda9907959f882fcde4_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNC0zLTEtMS01NDUx_bf6f85fe-76b7-4dea-aa22-c5e5f20a8059"
      unitRef="usd">41000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="ie468ca297b344933a8e6028e67ed815f_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNC01LTEtMS01NDUx_8e66fd13-e10b-492e-a8ff-b97e2c1c67b0"
      unitRef="usd">18723000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNC0xMy0xLTEtNTQ1MQ_19b028cd-6bb7-4422-b28d-efbf4fb3fef1"
      unitRef="usd">18764000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:ProfitLoss
      contextRef="i49c3471cf0e44a2f9a2879f5e2f8fd0f_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNS05LTEtMS01NDUx_3cdc00af-fdee-4837-a601-6ac46a52ed55"
      unitRef="usd">218497000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNS0xMy0xLTEtNTQ1MQ_8b48cb2a-a709-4c69-a6b1-4b2eabc60294"
      unitRef="usd">218497000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i0584126924d6475bba24d98d000cfe9b_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNi03LTEtMS01NDUx_568c330e-e39b-4baf-8e0d-12306a8ca5a8"
      unitRef="usd">-15000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNi0xMy0xLTEtNTQ1MQ_467d062e-6f10-48fe-848e-2fea572467b8"
      unitRef="usd">-15000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ib6cbefe9b5304859aaa0042df1ff7169_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNy0xLTEtMS01NDUx_91acb63e-08eb-42ea-81fc-eb6dc7019db8"
      unitRef="shares">63732000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ib6cbefe9b5304859aaa0042df1ff7169_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNy0zLTEtMS01NDUx_1748fce7-16e4-411f-88bb-c4157399cb32"
      unitRef="usd">1594000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i9f0b6e94b6524e96bf9c63cb7ebca22a_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNy01LTEtMS01NDUx_3cd0e1d0-6e17-4e0a-a861-91388485152f"
      unitRef="usd">984833000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iab5c3d5e54444c6c9b24a13ad207e9f1_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNy03LTEtMS01NDUx_66e0fe2f-95bc-4305-b79f-684376c5e4cd"
      unitRef="usd">-206000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6ca731aad112464c83bdf45cceba5da2_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNy05LTEtMS01NDUx_9ad1c43d-5910-40f8-9a0a-f4e768dc640d"
      unitRef="usd">-450595000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib6c405edb07742b0b59fb8f74773cd6e_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNy0xMS0xLTEtNTQ1MQ_9d686822-4743-4b87-84c9-80cfef5c5171"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOjgwMGJmMGU0NzhjZTQxNDU5MjA3M2RlNjljNDYwYjA2L3RhYmxlcmFuZ2U6ODAwYmYwZTQ3OGNlNDE0NTkyMDczZGU2OWM0NjBiMDZfNy0xMy0xLTEtNTQ1MQ_8952cc26-8789-4edc-adc1-0da985436f98"
      unitRef="usd">535626000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="id735c32780e2439cb1c3e925a33155a7_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfMi0xLTEtMS01NDUx_05d92c6a-7985-4eb8-9c03-54579f7cc273"
      unitRef="shares">56448000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="id735c32780e2439cb1c3e925a33155a7_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfMi0zLTEtMS01NDUx_3271645c-ea15-4fdd-8d6b-c90a5a75418d"
      unitRef="usd">1545000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4560bfcb57504859980d178b4befab6f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfMi01LTEtMS01NDUx_8c87b4cd-ed10-4149-9ad5-c82db6ed5fc9"
      unitRef="usd">895899000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i95bdd3dfd3a84101bc236031747fbc55_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfMi03LTEtMS01NDUx_d21d9574-75bb-48e4-b11e-9509dab3c740"
      unitRef="usd">-854000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5687cf6b0ccc4e12b649b1e3725e37b5_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfMi05LTEtMS01NDUx_46a410e8-db8b-4173-8bfd-f609d41ae49e"
      unitRef="usd">-702576000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ibf28ea2c6d9c46df8cf295ff21695b9b_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfMi0xMS0xLTEtNTQ1MQ_65ee16f1-fc27-4609-b729-5e2b208eb820"
      unitRef="usd">-39986000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i01677da6d89f44ccbc9a41104c439270_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfMi0xMy0xLTEtNTQ1MQ_8b8d2a79-a016-4a34-9936-9d2a13f6685b"
      unitRef="usd">154028000</us-gaap:StockholdersEquity>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="idfea60db97244c8587b1f58c66d7aa3f_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfMy01LTEtMS01NDUx_49a479b7-86ae-4c04-992d-362e32d9b564"
      unitRef="usd">9800000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfMy0xMy0xLTEtNTQ1MQ_670054bf-8cd3-4569-a98a-3be6d3649233"
      unitRef="usd">9800000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i0df46bc6cd5c401b97a9766495839643_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNC0xLTEtMS01NDUx_d5bdb415-eb0f-4020-aa17-da7a76e7bbd7"
      unitRef="shares">2102000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i0df46bc6cd5c401b97a9766495839643_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNC0zLTEtMS01NDUx_7e78eee4-cde8-4c51-a8fd-a78d9337ae68"
      unitRef="usd">51000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="idfea60db97244c8587b1f58c66d7aa3f_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNC01LTEtMS01NDUx_1fb7b7d6-93b0-4451-a5a9-18366ba28510"
      unitRef="usd">14046000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNC0xMy0xLTEtNTQ1MQ_5e02c5dd-1574-45b2-8f04-ae2efc00ee6c"
      unitRef="usd">14097000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="i0df46bc6cd5c401b97a9766495839643_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNS0xLTEtMS0xMzkyNg_460e294f-dd2d-4e0c-8d41-3679164f2561"
      unitRef="shares">3220000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i0df46bc6cd5c401b97a9766495839643_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNS0zLTEtMS0xMzkyNg_1c1cd902-70b2-4e32-969a-8f8eb3333edc"
      unitRef="usd">82000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="idfea60db97244c8587b1f58c66d7aa3f_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNS01LTEtMS0xMzkyNg_38ad41c7-70fe-4779-978b-4ad07f60f5ef"
      unitRef="usd">59981000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNS0xMy0xLTEtMTQzNTI_b0db1c3e-5bc4-4297-b2b4-3930f61afdbe"
      unitRef="usd">60063000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="i0df46bc6cd5c401b97a9766495839643_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNi0zLTEtMS0xMzkyNg_55ebc18a-63ae-4ce2-b136-c280b0db9bd0"
      unitRef="usd">134000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="idfea60db97244c8587b1f58c66d7aa3f_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNi01LTEtMS0xMzkyNg_7d63d5ec-91dd-4528-a489-6ebe87aafae0"
      unitRef="usd">39852000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="ic9bab66f44e6405996b52ea0d927824e_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNi0xMS0xLTEtMTM5MjY_5f024bfe-7a40-4525-8e9b-f0a712f96d34"
      unitRef="usd">-39986000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNi0xMy0xLTEtMTQzNTQ_7c81a7ed-1acd-442c-92d8-801c4eab5cb1"
      unitRef="usd">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:ProfitLoss
      contextRef="i5f4e2617778249599dac964228ad323e_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNS05LTEtMS01NDUx_80777128-80bb-4a9f-ad57-e42aa7c17791"
      unitRef="usd">9382000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNS0xMy0xLTEtNTQ1MQ_167658dd-bcb8-4e46-9e5a-76375ad27a8e"
      unitRef="usd">9382000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="ida2d0ad75a3d4ab285100f6946ba74eb_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNi03LTEtMS01NDUx_c2eabc6c-7e31-4184-b2d6-a449c4bc4948"
      unitRef="usd">161000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNi0xMy0xLTEtNTQ1MQ_3e2aac8e-2c87-4d38-a690-6b2a57544eb4"
      unitRef="usd">161000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i713dc1c8318346e0ae59b8d0914f7f61_I20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNy0xLTEtMS01NDUx_8e86596f-9406-4b77-a502-2c5305d7a49b"
      unitRef="shares">61770000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i713dc1c8318346e0ae59b8d0914f7f61_I20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNy0zLTEtMS01NDUx_d049e970-8091-4347-9670-89eeecdfbf53"
      unitRef="usd">1544000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i399629ec6b9c49f68307f3835617ea2c_I20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNy01LTEtMS01NDUx_cde15b52-bf1d-446f-bcdf-f0ff96c69326"
      unitRef="usd">939874000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6856290b10384d088d66ddfcab850433_I20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNy03LTEtMS01NDUx_4f61aa79-7915-4184-9019-2561ab25b056"
      unitRef="usd">-693000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i45f42dc11ed941088083eecb9e07bcbc_I20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNy05LTEtMS01NDUx_3a683b0f-3ac3-4222-b288-963617f81b92"
      unitRef="usd">-693194000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic847eb288b6543caad90a00bf54a740b_I20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNy0xMS0xLTEtNTQ1MQ_b9397d38-31bb-4f8f-8328-758de62bd5f6"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5b5927dd8cce44bc93f27feb4b7c149e_I20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yMi9mcmFnOjZmZDZlNDAwZjM4ZTQ4OGRiNzczZjE5MGE2NTIxZTFlL3RhYmxlOmUyYjViMjA3ZTgwODQyMjRhNjY5NTNmNDJmZTMxNTI3L3RhYmxlcmFuZ2U6ZTJiNWIyMDdlODA4NDIyNGE2Njk1M2Y0MmZlMzE1MjdfNy0xMy0xLTEtNTQ1MQ_e6e02840-182e-4ddf-9d72-50313e15dae6"
      unitRef="usd">247531000</us-gaap:StockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMy0yLTEtMS01NDUx_17b53d35-dd95-4a4b-a990-df2c320f3e6a"
      unitRef="usd">218497000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMy0yLTEtMS01NDUx_672cd548-32ae-4223-80e0-5c5ee8b49cdd"
      unitRef="usd">218497000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMy00LTEtMS01NDUx_9093ae9e-f786-434c-be31-121c3bba3c45"
      unitRef="usd">9382000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMy00LTEtMS01NDUx_fb354542-deda-4884-8856-801e625357b2"
      unitRef="usd">9382000</us-gaap:ProfitLoss>
    <us-gaap:ShareBasedCompensation
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfNS0yLTEtMS01NDUx_c02dc616-2adc-443b-9e13-082bbf830007"
      unitRef="usd">18055000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfNS00LTEtMS01NDUx_77183ff5-99f3-478f-8dbc-5d9b6a53ac5d"
      unitRef="usd">9800000</us-gaap:ShareBasedCompensation>
    <us-gaap:Depreciation
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfNi0yLTEtMS01NDUx_5416bfe0-452b-4009-8164-dd3fd4d374f8"
      unitRef="usd">11351000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfNi00LTEtMS01NDUx_50e44bce-615b-4bb0-95c6-74c5f48768d3"
      unitRef="usd">10311000</us-gaap:Depreciation>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfNy0yLTEtMS0xNjA5Ng_80998d87-d384-46c9-9191-fabd61fd9e5e"
      unitRef="usd">161995000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfNy00LTEtMS0xNjA5Ng_0fb8d6f6-0edd-4dea-8bf0-d1daf5f09431"
      unitRef="usd">0</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:AssetImpairmentCharges
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfNy0yLTEtMS01NDUx_29981d7e-6aaf-4160-ad24-ff54fefb6c33"
      unitRef="usd">0</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfNy00LTEtMS01NDUx_d7894e14-ab03-49f3-a849-ed7b9bafab78"
      unitRef="usd">3749000</us-gaap:AssetImpairmentCharges>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTAtMi0xLTEtNTQ1MQ_3d52302c-babe-477a-8399-0d065c77ea73"
      unitRef="usd">22510000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTAtNC0xLTEtNTQ1MQ_ddc97df2-9e95-410f-9ab8-532e79ecdc3c"
      unitRef="usd">22622000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTEtMi0xLTEtNTQ1MQ_c59dcff1-505a-4250-bb2c-98c72afb5cb4"
      unitRef="usd">22897000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTEtNC0xLTEtNTQ1MQ_4c7c6674-c81d-4ce2-ac48-a17addb4c565"
      unitRef="usd">1464000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTItMi0xLTEtNTQ1MQ_eef91909-c8bb-41a6-a5fd-ddb3b9f27f28"
      unitRef="usd">9776000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTItNC0xLTEtNTQ1MQ_c16e9e26-a344-4b2e-b076-dd23f165abc2"
      unitRef="usd">-3710000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTMtMi0xLTEtNTQ1MQ_a2ddc0c0-0cb1-4b1a-a2f6-8889db6bd31d"
      unitRef="usd">18311000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTMtNC0xLTEtNTQ1MQ_70089a3c-3ad0-47aa-8bc5-032fc1f8a5d4"
      unitRef="usd">5616000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTQtMi0xLTEtNTQ1MQ_8aeeaee0-16e2-4d90-bae8-72fd88c15825"
      unitRef="usd">-7008000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTQtNC0xLTEtNTQ1MQ_438d02ad-9060-44be-bcb6-63f46d33cee1"
      unitRef="usd">3834000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTUtMi0xLTEtNTQ1MQ_7a6414b2-a2bb-4878-9886-fc97da39ae74"
      unitRef="usd">6691000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTUtNC0xLTEtNTQ1MQ_a0a4c7a1-1779-4354-8742-26a1be1f25ae"
      unitRef="usd">-342000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTYtMi0xLTEtNTQ1MQ_9a4ba730-0b16-48d7-a637-0b7b4cadf03e"
      unitRef="usd">-4544000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTYtNC0xLTEtNTQ1MQ_402d05c3-c51c-4212-a851-6a2325c80702"
      unitRef="usd">-1038000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTctMi0xLTEtNTQ1MQ_f113ecf8-f8b6-4527-a4fc-6fffc861ded4"
      unitRef="usd">44175000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTctNC0xLTEtNTQ1MQ_ae6f17c6-6eb0-426e-a329-af5f6d50f4b2"
      unitRef="usd">20936000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTktMi0xLTEtNTQ1MQ_0810001a-4188-4c16-b984-2fdf66645155"
      unitRef="usd">7271000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMTktNC0xLTEtNTQ1MQ_81a13fe7-f39d-4d72-85ba-d30589a93042"
      unitRef="usd">5617000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjAtMi0xLTEtNTQ1MQ_67afaf3f-4131-41c4-959b-fc8009b74669"
      unitRef="usd">200509000</us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt>
    <us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjAtNC0xLTEtNTQ1MQ_b78b9212-2387-4dfe-a42e-048cf9603121"
      unitRef="usd">39986000</us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjEtMi0xLTEtNTQ1MQ_3331aae9-6c76-46be-ab43-209e56241a6d"
      unitRef="usd">125000000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjEtNC0xLTEtNTQ1MQ_d81e0fa2-70c5-4541-afd0-497dba56ef88"
      unitRef="usd">0</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjItMi0xLTEtNTQ1MQ_ea94f4db-e8f1-49c1-b129-9641c354a88a"
      unitRef="usd">-82780000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjItNC0xLTEtNTQ1MQ_ab4bd97a-beef-45ab-8748-985aaac5f343"
      unitRef="usd">-45603000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjQtMi0xLTEtNTQ1MQ_c18c0cad-f6d7-428c-b1c8-7addbfab6210"
      unitRef="usd">18764000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjQtNC0xLTEtNTQ1MQ_d22cee87-1a79-4ba5-82e5-934d4f326301"
      unitRef="usd">14097000</us-gaap:ProceedsFromStockOptionsExercised>
    <calx:PaymentsForFinancingArrangements
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjctMi0xLTEtNTQ1MQ_0aa6ba3d-b382-474c-8225-f166b609b042"
      unitRef="usd">723000</calx:PaymentsForFinancingArrangements>
    <calx:PaymentsForFinancingArrangements
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjctNC0xLTEtNTQ1MQ_160ab58b-3f91-4ae1-a8ed-b260f3a6a4c7"
      unitRef="usd">2342000</calx:PaymentsForFinancingArrangements>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjgtMi0xLTEtNTQ1MQ_ef59b827-c367-400b-a97f-2e65bc1edd92"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjgtNC0xLTEtNTQ1MQ_bf96eac1-9afe-4414-b793-88f0dc8f46a3"
      unitRef="usd">60063000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjktMi0xLTEtNTQ1MQ_28793b11-5e73-453b-a88b-a717bab75c54"
      unitRef="usd">0</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMjktNC0xLTEtNTQ1MQ_b0829582-5360-459a-ab3c-5e4b8465d7c2"
      unitRef="usd">30000000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzAtMi0xLTEtNTQ1MQ_ea55edeb-f76c-4f77-99f1-c1a75f310640"
      unitRef="usd">0</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzAtNC0xLTEtNTQ1MQ_84cfbd70-5428-47dc-a7ed-aa2ef7e7fc29"
      unitRef="usd">60000000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzEtMi0xLTEtNTQ1MQ_7fe4f85d-ec39-4245-88cd-8eccd6d86020"
      unitRef="usd">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzEtNC0xLTEtNTQ1MQ_16724620-4e5f-4e11-b846-e15d39275344"
      unitRef="usd">285000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzItMi0xLTEtNTQ1MQ_1501b6ca-4b39-412e-a0e5-24d7fff72eb5"
      unitRef="usd">18041000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzItNC0xLTEtNTQ1MQ_b2fef1ff-1bfa-455f-83a1-e6a1626401aa"
      unitRef="usd">41533000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzMtMi0xLTEtNTQ1MQ_071ff9dc-5794-48f3-8284-83c7903151e8"
      unitRef="usd">-28000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzMtNC0xLTEtNTQ1MQ_70457f8c-c418-4058-aee1-5a9294a8bdea"
      unitRef="usd">131000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzQtMi0xLTEtNTQ1MQ_406ba569-cfce-448b-8805-6fa4aedef075"
      unitRef="usd">-20592000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzQtNC0xLTEtNTQ1MQ_ef10825b-e045-4fcb-b30b-f688af8e6897"
      unitRef="usd">16997000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzUtMi0xLTEtNTQ1MQ_728f649f-5820-489a-9819-3c9d992d2213"
      unitRef="usd">80807000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i01677da6d89f44ccbc9a41104c439270_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzUtNC0xLTEtNTQ1MQ_4dede463-c240-407b-9d4a-424df1ef420c"
      unitRef="usd">47457000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzYtMi0xLTEtNTQ1MQ_73cc860d-5c40-4624-8e0e-60df6589d7b8"
      unitRef="usd">60215000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i5b5927dd8cce44bc93f27feb4b7c149e_I20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8yNS9mcmFnOjI4YWJlNmI3ZTcwNTQxOTk4YzhjZTU2ZGE1MDU5ZTAyL3RhYmxlOjRlMjI2MjExZjFkMDRjYjQ5OWRkZGZmMjY3NTY2Yzc4L3RhYmxlcmFuZ2U6NGUyMjYyMTFmMWQwNGNiNDk5ZGRkZmYyNjc1NjZjNzhfMzYtNC0xLTEtNTQ1MQ_ed95a75d-16eb-44bd-af93-b257d4cbdba7"
      unitRef="usd">64454000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zMS9mcmFnOjg3ZTVlMTg5MjJjMzRhYzU5ZDk4ODVlZGU4ODBlODVmL3RleHRyZWdpb246ODdlNWUxODkyMmMzNGFjNTlkOTg4NWVkZTg4MGU4NWZfNDkwNg_70914c4a-d41d-4410-964b-712608e9e813">Company and Basis of Presentation&lt;div style="margin-top:12pt"&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;Company&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Calix, Inc. (together with its subsidiaries, &#x201c;Calix&#x201d; or the &#x201c;Company&#x201d;) was incorporated in August 1999 and is a Delaware corporation. The Company is the leading global provider of cloud and software platforms, systems and services that focus on the access network, the portion of the network that governs available bandwidth and determines the range and quality of services that can be offered to subscribers. These cloud and software platforms enable broadband service providers (&#x201c;BSPs&#x201d;) of all types and sizes to innovate and transform their businesses. The Company&#x2019;s BSP customers are empowered to utilize real-time data and insights from Calix platforms to simplify their businesses and deliver experiences that excite their subscribers. These insights enable BSPs to grow their businesses through increased subscriber acquisition, loyalty and revenue, thereby increasing the value of their businesses and contributions to their communities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&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;Basis of Presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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 unaudited condensed consolidated financial statements, including the accounts of Calix, Inc. and its wholly-owned subsidiaries, have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (&#x201c;SEC&#x201d;) for interim reporting. As permitted under those rules, certain footnotes or other financial information that are normally required by U.S. generally accepted accounting principles (&#x201c;GAAP&#x201d;) can be condensed or omitted. In the opinion of management, the financial statements include all normal and recurring adjustments that are considered necessary for the fair presentation of the Company&#x2019;s financial position and operating results. All intercompany balances and transactions have been eliminated in consolidation. The Condensed Consolidated Balance Sheet as of December&#160;31, 2020 has been derived from the audited financial statements at that date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The results of the Company&#x2019;s operations can vary during each quarter of the year. Therefore, the results and trends in these interim financial statements may not be the same as those for the full year or any future periods. The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited financial statements included in the Company&#x2019;s Annual Report on Form 10-K for the year ended December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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&#x2019;s fiscal year begins on January 1&lt;/span&gt;&lt;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"&gt;st&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; and ends on December 31&lt;/span&gt;&lt;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"&gt;st&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;. Quarterly periods are based on a 4-4-5 calendar with the first quarter ending on the Saturday closest to March 31&lt;/span&gt;&lt;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"&gt;st&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;. As a result, the Company had five more days in the nine months ended October&#160;2, 2021 than for the nine months ended September&#160;26, 2020. The preparation of financial statements in conformity with GAAP for interim financial reporting requires management to make estimates and assumptions that affect the amounts reported in the condensed consolidated financial statements and accompanying notes. Actual results could differ from those estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&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;Risks and Uncertainties&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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 is subject to risks and uncertainties as a result of the COVID-19 pandemic. The extent of the impact of the COVID-19 pandemic on the Company&#x2019;s business is highly uncertain and difficult to predict, particularly as variants of the coronavirus continue to spread around the world. Although the availability of vaccines has increased, there are no assurances as to when the pandemic will be fully contained. In March 2020, the Company instituted office closures, travel restrictions and a work-from-anywhere policy for substantially all of its employees due to shelter-in-place mandates. In July 2021, the Company reopened its U.S. offices to fully-vaccinated employees who choose to work in the office and visitors and lifted certain travel restrictions. The spread of COVID-19 has had a prolonged impact on the Company&#x2019;s supply chain operations due to restrictions, reduced capacity and limited availability from suppliers on whom the Company relies for sourcing components and materials and from third-party partners on whom the Company relies for manufacturing, warehousing and logistics services. Although demand for the Company&#x2019;s products has been strong in the short-term as subscribers seek more bandwidth and better Wi-Fi, customers&#x2019; purchasing decisions over the long-term may be impacted by the pandemic and its impact on the economy, which could in turn impact the Company&#x2019;s revenue and results of operations. Furthermore, the Company&#x2019;s supply chain continues to face constraints primarily due to challenges in sourcing components and materials for the Company&#x2019;s products. The prolonged impact of COVID-19 could exacerbate these constraints or cause further supply chain disruptions. As of the issuance date of these condensed consolidated financial statements, the extent to which the COVID-19 pandemic may materially impact the Company&#x2019;s financial condition, liquidity or results of operations remains uncertain.&lt;/span&gt;&lt;/div&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zMS9mcmFnOjg3ZTVlMTg5MjJjMzRhYzU5ZDk4ODVlZGU4ODBlODVmL3RleHRyZWdpb246ODdlNWUxODkyMmMzNGFjNTlkOTg4NWVkZTg4MGU4NWZfNDkxMA_dc0c9bb1-5dd8-43ca-b5c2-125643d1c352">&lt;div style="margin-top:12pt"&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;Basis of Presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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 unaudited condensed consolidated financial statements, including the accounts of Calix, Inc. and its wholly-owned subsidiaries, have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (&#x201c;SEC&#x201d;) for interim reporting. As permitted under those rules, certain footnotes or other financial information that are normally required by U.S. generally accepted accounting principles (&#x201c;GAAP&#x201d;) can be condensed or omitted. In the opinion of management, the financial statements include all normal and recurring adjustments that are considered necessary for the fair presentation of the Company&#x2019;s financial position and operating results. All intercompany balances and transactions have been eliminated in consolidation. The Condensed Consolidated Balance Sheet as of December&#160;31, 2020 has been derived from the audited financial statements at that date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The results of the Company&#x2019;s operations can vary during each quarter of the year. Therefore, the results and trends in these interim financial statements may not be the same as those for the full year or any future periods. The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited financial statements included in the Company&#x2019;s Annual Report on Form 10-K for the year ended December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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&#x2019;s fiscal year begins on January 1&lt;/span&gt;&lt;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"&gt;st&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; and ends on December 31&lt;/span&gt;&lt;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"&gt;st&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;. Quarterly periods are based on a 4-4-5 calendar with the first quarter ending on the Saturday closest to March 31&lt;/span&gt;&lt;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"&gt;st&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;. As a result, the Company had five more days in the nine months ended October&#160;2, 2021 than for the nine months ended September&#160;26, 2020. The preparation of financial statements in conformity with GAAP for interim financial reporting requires management to make estimates and assumptions that affect the amounts reported in the condensed consolidated financial statements and accompanying notes. Actual results could differ from those estimates.&lt;/span&gt;&lt;/div&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:CommitmentsAndContingenciesPolicyTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zMS9mcmFnOjg3ZTVlMTg5MjJjMzRhYzU5ZDk4ODVlZGU4ODBlODVmL3RleHRyZWdpb246ODdlNWUxODkyMmMzNGFjNTlkOTg4NWVkZTg4MGU4NWZfNDkwNA_46104343-414c-4ff9-a5d3-1fde901eeee6">&lt;div style="margin-top:12pt"&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;Risks and Uncertainties&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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 is subject to risks and uncertainties as a result of the COVID-19 pandemic. The extent of the impact of the COVID-19 pandemic on the Company&#x2019;s business is highly uncertain and difficult to predict, particularly as variants of the coronavirus continue to spread around the world. Although the availability of vaccines has increased, there are no assurances as to when the pandemic will be fully contained. In March 2020, the Company instituted office closures, travel restrictions and a work-from-anywhere policy for substantially all of its employees due to shelter-in-place mandates. In July 2021, the Company reopened its U.S. offices to fully-vaccinated employees who choose to work in the office and visitors and lifted certain travel restrictions. The spread of COVID-19 has had a prolonged impact on the Company&#x2019;s supply chain operations due to restrictions, reduced capacity and limited availability from suppliers on whom the Company relies for sourcing components and materials and from third-party partners on whom the Company relies for manufacturing, warehousing and logistics services. Although demand for the Company&#x2019;s products has been strong in the short-term as subscribers seek more bandwidth and better Wi-Fi, customers&#x2019; purchasing decisions over the long-term may be impacted by the pandemic and its impact on the economy, which could in turn impact the Company&#x2019;s revenue and results of operations. Furthermore, the Company&#x2019;s supply chain continues to face constraints primarily due to challenges in sourcing components and materials for the Company&#x2019;s products. The prolonged impact of COVID-19 could exacerbate these constraints or cause further supply chain disruptions. As of the issuance date of these condensed consolidated financial statements, the extent to which the COVID-19 pandemic may materially impact the Company&#x2019;s financial condition, liquidity or results of operations remains uncertain.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesPolicyTextBlock>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNC9mcmFnOmQzMTcwZjk4ZWZiYTQ2ZjM5NDk3ZjI3MmFjZTA3OTRmL3RleHRyZWdpb246ZDMxNzBmOThlZmJhNDZmMzk0OTdmMjcyYWNlMDc5NGZfNzc5_4fc32fbc-d883-4ebd-bec3-467dc5ecd83e">Significant Accounting Policies&lt;div style="margin-top:6pt"&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&#x2019;s significant accounting policies are disclosed in its Annual Report on Form&#160;10-K for the year ended December&#160;31, 2020. The Company&#x2019;s significant accounting policies did not change during the nine months ended October&#160;2, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&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;Newly Adopted Accounting Standard&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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 did not adopt any new accounting standards during the nine months ended October&#160;2, 2021 that were significant to the Company.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&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;Recent Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There have been no additional accounting pronouncements or changes in accounting pronouncements during the nine months ended October&#160;2, 2021 as compared to the recent accounting pronouncements described in the Company&#x2019;s Annual Report on Form 10-K for the year ended December&#160;31, 2020, that are significant or potentially significant to the Company.&lt;/span&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNC9mcmFnOmQzMTcwZjk4ZWZiYTQ2ZjM5NDk3ZjI3MmFjZTA3OTRmL3RleHRyZWdpb246ZDMxNzBmOThlZmJhNDZmMzk0OTdmMjcyYWNlMDc5NGZfNzg1_0b5cb97f-d50e-494a-8e66-716f9412639c">&lt;div style="margin-top:12pt"&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;Newly Adopted Accounting Standard&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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 did not adopt any new accounting standards during the nine months ended October&#160;2, 2021 that were significant to the Company.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&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;Recent Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There have been no additional accounting pronouncements or changes in accounting pronouncements during the nine months ended October&#160;2, 2021 as compared to the recent accounting pronouncements described in the Company&#x2019;s Annual Report on Form 10-K for the year ended December&#160;31, 2020, that are significant or potentially significant to the Company.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RleHRyZWdpb246NmE1ODNlMGY1OWI5NDU4OTk2NWM3NzhjZmI1MTA1ZTJfMTc1Mg_709b511b-bbc6-4c58-9507-e89e6452526c">Cash, Cash Equivalents and Marketable Securities&lt;div style="margin-top:6pt"&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 invested its excess cash primarily in money market funds and highly liquid marketable securities such as commercial paper, corporate debt securities, municipal securities and U.S. government securities. The Company considers all investments with maturities of three months or less when purchased to be cash equivalents. Marketable securities represent highly liquid commercial paper, U.S. government agency securities, corporate debt securities, municipal securities and U.S. government securities with maturities greater than 90 days at date of purchase. Cash equivalents are stated at amounts that approximate fair value based on quoted market prices. Marketable securities are recorded at their fair values.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Marketable securities with maturities greater than one year are classified as current because management considers all marketable securities to be available for current operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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&#x2019;s investments have been classified and accounted for as available-for-sale. Such investments are recorded at fair value and unrealized holding gains and losses are reported as a separate component of accumulated other comprehensive loss in the stockholders&#x2019; equity until realized. Realized gains and losses on sales of marketable securities, if any, are determined on the specific identification method and are reclassified from accumulated other comprehensive loss to results of operations as other expense, net. Realized and unrealized gains and losses were de minimis for the period ended October&#160;2, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash, cash equivalents and marketable securities consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-indent:22.5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.079%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.081%"/&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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&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;Cash and cash equivalents:&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;/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;Cash&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;30,609&#160;&lt;/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;30,745&#160;&lt;/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;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;23,449&#160;&lt;/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;/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;Money market funds&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,007&#160;&lt;/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;10,068&#160;&lt;/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;Municipal 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;150&#160;&lt;/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;/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. government 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;39,994&#160;&lt;/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 25.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;Total cash and cash equivalents&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;60,215&#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;80,807&#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;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;border-top:1pt solid #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:1pt solid #000;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;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;117,984&#160;&lt;/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;/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. government 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;3,891&#160;&lt;/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;/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 debt 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;3,772&#160;&lt;/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;/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. government 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;1,520&#160;&lt;/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;52,982&#160;&lt;/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;Municipal 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;1,325&#160;&lt;/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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.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;Total marketable 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;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;128,492&#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;52,982&#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: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 #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;188,707&#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;133,789&#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;&lt;div style="margin-top:7pt"&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 amounts of the Company&#x2019;s money market funds approximate their fair values due to their nature, duration and short maturities.&lt;/span&gt;&lt;/div&gt;</us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock>
    <us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RleHRyZWdpb246NmE1ODNlMGY1OWI5NDU4OTk2NWM3NzhjZmI1MTA1ZTJfMTc2Mw_4c50d7cd-1912-400a-8748-b59af482fee3">&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash, cash equivalents and marketable securities consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-indent:22.5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.079%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.081%"/&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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&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;Cash and cash equivalents:&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;/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;Cash&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;30,609&#160;&lt;/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;30,745&#160;&lt;/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;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;23,449&#160;&lt;/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;/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;Money market funds&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,007&#160;&lt;/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;10,068&#160;&lt;/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;Municipal 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;150&#160;&lt;/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;/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. government 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;39,994&#160;&lt;/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 25.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;Total cash and cash equivalents&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;60,215&#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;80,807&#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;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;border-top:1pt solid #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:1pt solid #000;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;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;117,984&#160;&lt;/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;/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. government 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;3,891&#160;&lt;/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;/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 debt 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;3,772&#160;&lt;/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;/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. government 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;1,520&#160;&lt;/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;52,982&#160;&lt;/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;Municipal 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;1,325&#160;&lt;/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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.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;Total marketable 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;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;128,492&#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;52,982&#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: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 #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;188,707&#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;133,789&#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:ScheduleOfCashAndCashEquivalentsTableTextBlock>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="id4e961fca3f04687ba4e2836f4d4948a_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMi0yLTEtMS01NDUx_d97f825e-d8ea-4022-8bac-2f8d2224b1bb"
      unitRef="usd">30609000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ie74c0b9cf5804c67a6b7086a121340cc_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMi00LTEtMS01NDUx_4bb6c685-00b7-4eb7-9bb4-b9da1ff4cbd1"
      unitRef="usd">30745000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i266bc4dc70814210b46ab80444bb1e11_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMy0yLTEtMS01NDUx_3aaccc8e-7268-4538-8df2-43b18a45cf0d"
      unitRef="usd">23449000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i95325bb22e5f4f89aacd1ab876ea1bbe_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMy00LTEtMS01NDUx_d362aa42-11a3-4b4d-a4dc-90191ca3aedb"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ie13138ffb8b84b6d89cea39464c1fde4_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfNC0yLTEtMS01NDUx_9a1bb641-0075-4037-8710-c6f22c78bb59"
      unitRef="usd">6007000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="id43610d00b34463cbe1a36fb1e27aa0b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfNC00LTEtMS01NDUx_586d010b-0ee4-4240-9c53-d78336f57a71"
      unitRef="usd">10068000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="iee143e313480466193c3be37bbb3ded6_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfNS0yLTEtMS01NDUx_0f9d7f06-339d-4091-a97b-053cf93df970"
      unitRef="usd">150000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ic0ba35e85bd345c982a5e5d6769f241b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfNS00LTEtMS01NDUx_d027b3fd-3c75-4b02-97a6-d388a66d2814"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="idf991a39aa4c472182f5ebc48298c319_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfNi0yLTEtMS01NDUx_4516d048-40c0-4d91-9e79-aea68ee3c29d"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ie5dbf97b5b8947cb878f959c4f31c81b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfNi00LTEtMS01NDUx_710af24f-640c-4121-bf62-13f1a106e9df"
      unitRef="usd">39994000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfNy0yLTEtMS01NDUx_a66356fb-df6e-4861-82f8-934e3cf70987"
      unitRef="usd">60215000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfNy00LTEtMS01NDUx_39fb8eea-fdd3-41cc-88f8-bdcae1c200cc"
      unitRef="usd">80807000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i8f724e4e6df9420499d41ba2f8a85556_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfOS0yLTEtMS01NDUx_aced24d2-4cc8-44f1-8f6f-84d4331fff97"
      unitRef="usd">117984000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i2c5666534f2e4a32a5d7fb0d37dcf641_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfOS00LTEtMS01NDUx_5024783e-73d3-4a15-b2bb-44d97349f8c9"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i1612af942ca746cab22b293b4fb505c7_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTAtMi0xLTEtMTQ1MDk_a20a448f-b171-43d2-aaf7-c4212ba4eba2"
      unitRef="usd">3891000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ie9b29a0058664caaa92594b56344831b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTAtNC0xLTEtMTQ1MDk_13595c6d-b1fb-4c21-9b55-9cf19dfaf6e5"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i037b33631de04352bdae3d770b4d0303_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTEtMi0xLTEtMTQ1MDk_56cfc0b1-373b-44bc-aaee-167be6fe2986"
      unitRef="usd">3772000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i68321b9592d2400db860461d32169447_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTEtNC0xLTEtMTYxNjQ_0a145b9f-634b-49af-b75d-dc654833978d"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i937479d3bf9c413cbed828008b702cbe_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTAtMi0xLTEtNTQ1MQ_7f8cba6a-1823-4136-869d-0bfee24e268d"
      unitRef="usd">1520000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i68c60b73a7764615991d7161320b22ee_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTAtNC0xLTEtNTQ1MQ_e624a08f-699b-4683-96c4-49979d97cf91"
      unitRef="usd">52982000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i1b22cd11ca08494c97af262450969030_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTEtMi0xLTEtNTQ1MQ_d8bb8d44-97bb-4ed2-b27f-619c9c0e1d0c"
      unitRef="usd">1325000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="icef0371f5216436ca6221913f71e89ac_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTEtNC0xLTEtNTQ1MQ_6a448a8e-0ab2-424c-9ac2-95370a53e3b8"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTItMi0xLTEtNTQ1MQ_1d9836b5-a728-418c-8904-7c8a1829a8fe"
      unitRef="usd">128492000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTItNC0xLTEtNTQ1MQ_41a12633-0724-4d0b-9bbc-629714ee3b44"
      unitRef="usd">52982000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <calx:CashCashEquivalentsAndMarketableSecurities
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTMtMi0xLTEtNTQ1MQ_9c9c6943-4cfc-40fb-b83f-c2553f96d9ba"
      unitRef="usd">188707000</calx:CashCashEquivalentsAndMarketableSecurities>
    <calx:CashCashEquivalentsAndMarketableSecurities
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV8zNy9mcmFnOjZhNTgzZTBmNTliOTQ1ODk5NjVjNzc4Y2ZiNTEwNWUyL3RhYmxlOmRjZmQ2ZDE5NGZiZDRiOWM5YzI0Mzc4MTI3ODUzZGYyL3RhYmxlcmFuZ2U6ZGNmZDZkMTk0ZmJkNGI5YzljMjQzNzgxMjc4NTNkZjJfMTMtNC0xLTEtNTQ1MQ_f1dcbf9c-cf15-42d6-bc3c-f6a84fd8084a"
      unitRef="usd">133789000</calx:CashCashEquivalentsAndMarketableSecurities>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RleHRyZWdpb246ZTUzMGVmZWRkMjMwNDlkMWJkOTFlMzhhOTFkZjQ4MzhfMTYwNQ_cefa6f22-4c40-46ee-aebe-c7ca708d8f4e">Fair Value Measurements&lt;div style="margin-top:12pt"&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 measures its cash equivalents and marketable securities at fair value on a recurring basis. Fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. The Company utilizes the following three-tier value hierarchy, which prioritizes the inputs used in measuring fair value:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 1 &#x2013; Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 2 &#x2013; Observable inputs other than quoted prices included in Level 1 for similar instruments in active markets, quoted prices for identical or similar instruments in markets that are not active, and model-driven valuations in which all significant inputs and significant value drivers are observable in active markets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 3 &#x2013; Unobservable inputs to the valuation derived from fair valuation techniques in which one or more significant inputs or significant value drivers are unobservable. The fair value hierarchy also requires the Company to maximize the use of observable inputs, when available, and to minimize the use of unobservable inputs when determining inputs and determining fair value.&lt;/span&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-weight:400;line-height:120%"&gt;The following tables sets forth the Company&#x2019;s financial assets measured at fair value on a recurring basis based on the three-tier fair value hierarchy (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&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:9.572%"/&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:9.572%"/&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:9.575%"/&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:8pt;font-weight:700;line-height:100%"&gt;As of October 2, 2021&lt;/span&gt;&lt;/td&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:8pt;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:8pt;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:8pt;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 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 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;6,007&#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;6,007&#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 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. government 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;1,520&#160;&lt;/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;1,520&#160;&lt;/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;Commercial paper&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;141,433&#160;&lt;/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;141,433&#160;&lt;/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. government agency 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;&#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;3,891&#160;&lt;/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,891&#160;&lt;/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 debt securities&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;3,772&#160;&lt;/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,772&#160;&lt;/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;Municipal 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;&#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;1,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;1,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="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;7,527&#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;150,571&#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;158,098&#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;&lt;div style="margin-top:5pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:76.608%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:84.968%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.832%"/&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:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2020&lt;/span&gt;&lt;/td&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:8pt;font-weight:700;line-height:100%"&gt;Level 1&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 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 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;10,068&#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="display:none"/&gt;&lt;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 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. government 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;92,976&#160;&lt;/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;103,044&#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:FairValueDisclosuresTextBlock>
    <us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RleHRyZWdpb246ZTUzMGVmZWRkMjMwNDlkMWJkOTFlMzhhOTFkZjQ4MzhfMTYwNg_9ea8abdb-7670-4a15-8bbf-60891e21479c">&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 following tables sets forth the Company&#x2019;s financial assets measured at fair value on a recurring basis based on the three-tier fair value hierarchy (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&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:9.572%"/&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:9.572%"/&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:9.575%"/&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:8pt;font-weight:700;line-height:100%"&gt;As of October 2, 2021&lt;/span&gt;&lt;/td&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:8pt;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:8pt;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:8pt;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 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 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;6,007&#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;6,007&#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 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. government 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;1,520&#160;&lt;/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;1,520&#160;&lt;/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;Commercial paper&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;141,433&#160;&lt;/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;141,433&#160;&lt;/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. government agency 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;&#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;3,891&#160;&lt;/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,891&#160;&lt;/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 debt securities&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;3,772&#160;&lt;/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,772&#160;&lt;/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;Municipal 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;&#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;1,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;1,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="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;7,527&#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;150,571&#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;158,098&#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;&lt;div style="margin-top:5pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:76.608%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:84.968%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.832%"/&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:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2020&lt;/span&gt;&lt;/td&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:8pt;font-weight:700;line-height:100%"&gt;Level 1&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 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 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;10,068&#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="display:none"/&gt;&lt;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 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. government 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;92,976&#160;&lt;/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;103,044&#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:FairValueAssetsMeasuredOnRecurringBasisTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i3b83baf80973450cbc0fffafca8c995e_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfMS0xLTEtMS01NDUx_981c7605-f220-4cb8-9a89-5ba21a31f9bf"
      unitRef="usd">6007000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i394f7e868e564ddaa3bb7656154f9971_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfMS0zLTEtMS01NDUx_67deb762-b04b-42b5-88b6-4c237f5d1e5c"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i660370d1477c47d9ae4e210061e04d2f_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfMS01LTEtMS01NDUx_a7956d6c-bcd4-4d06-9809-95e5dbadf5e4"
      unitRef="usd">6007000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i2cb2af827c0d4e8fa13d50d8b32ab69c_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfMi0xLTEtMS0xNjIxMA_1a91d3ae-cf24-4bb8-9b61-bdf84d832008"
      unitRef="usd">1520000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ia1148926c25042a5951f2b8420c9e880_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfMi0zLTEtMS0xNjIxMA_50615a09-f7a5-4f0d-8701-3c206d1eaf7a"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="id58cbf088e8f43cd9c8ca2c32c054028_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfMi01LTEtMS0xNjIxMA_df3358ee-a6c9-410b-aa06-87e8c21bc8a5"
      unitRef="usd">1520000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ib42bc09e694143e29593b2eac05391fc_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfMi0xLTEtMS01NDUx_2e883606-647d-48e2-9303-fa00b22cf64e"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i6fb296c1504046b7b902c9c4498b8373_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfMi0zLTEtMS01NDUx_65b188a7-309e-41c2-a7ca-e3fc56e667ca"
      unitRef="usd">141433000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i870ca6f514b742d9890e0228064e2de0_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfMi01LTEtMS01NDUx_a7dac1c4-c5e4-4d51-b3d6-645484a3f292"
      unitRef="usd">141433000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i723b9a3d33ce4467a86c84ead7b41c2a_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNC0xLTEtMS0xNjIxMg_ef3b212a-f02b-406e-ad3d-ca0327bb0180"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i9f73129217a6431fa2b0c268cf962e2c_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNC0zLTEtMS0xNjIxMg_8e9bfcb5-119c-43f0-9eb3-cff90e5e7e10"
      unitRef="usd">3891000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ic67299b48d7d437190adc5221b3dea72_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNC01LTEtMS0xNjIxMg_8f3738eb-e00f-4822-b078-839bdeafff81"
      unitRef="usd">3891000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i94f3883f67df4b5eb5c28bcf1d98d833_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNS0xLTEtMS0xNjIxMg_0299be67-ecf1-431b-b42a-34ff530ff5a7"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="if1acc8fad88d4bba96bdd150fad70a81_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNS0zLTEtMS0xNjIxMg_2429d0e0-03f7-4d8b-8c7e-a862f0c2551b"
      unitRef="usd">3772000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i9b2be8a325c644cf8f7beb32f0c38343_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNS01LTEtMS0xNjIxMg_58ba6f55-206a-4102-b196-c506deeaf85f"
      unitRef="usd">3772000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i3fe16082e3ed46f1ab37172262968b23_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNC0xLTEtMS01NDUx_597c4124-c464-47c5-b3e2-ccee942eca85"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i443e0055c5754d7bbe2efe5deeb1d796_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNC0zLTEtMS01NDUx_57e0848b-1b19-4e29-a957-5545161ba767"
      unitRef="usd">1475000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i206072936674476292ca7a8b8c6fcc62_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNC01LTEtMS01NDUx_911e0d54-7405-4a69-ae81-17f8fe824c76"
      unitRef="usd">1475000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i201027b65e3849c5acbff4581e5c30d2_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNS0xLTEtMS01NDUx_a1da7da1-fac9-4ac8-8471-a06e71af08c0"
      unitRef="usd">7527000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ia7b33a7632984497a0b204172aa04efa_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNS0zLTEtMS01NDUx_988b7afa-341f-4436-bf00-404f98c6629c"
      unitRef="usd">150571000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ib2ac7f1f33ac4acd8cc838e0542e5b52_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjJhY2QyNjFiNWIwNDRmODdhMTg5ZTgzMDQ1YjM4NGRmL3RhYmxlcmFuZ2U6MmFjZDI2MWI1YjA0NGY4N2ExODllODMwNDViMzg0ZGZfNS01LTEtMS01NDUx_c269c3e7-3c0b-4fad-802f-9b7cea8b546d"
      unitRef="usd">158098000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i764133c02d0440188258ec3b4eaf8e24_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjEzM2VhY2RiYzQ1ODRmNjBiNmM0MDAwZTA1YjQ2MWRlL3RhYmxlcmFuZ2U6MTMzZWFjZGJjNDU4NGY2MGI2YzQwMDBlMDViNDYxZGVfMS0xLTEtMS01NDUx_239cc36f-2da7-45c2-a3d6-e91bf63dd9ad"
      unitRef="usd">10068000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i9617cb42498f490ca6363ddb911df87b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjEzM2VhY2RiYzQ1ODRmNjBiNmM0MDAwZTA1YjQ2MWRlL3RhYmxlcmFuZ2U6MTMzZWFjZGJjNDU4NGY2MGI2YzQwMDBlMDViNDYxZGVfMi0xLTEtMS01NDUx_45001b0c-a723-48b6-a6ba-97fdee058c03"
      unitRef="usd">92976000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ib8edd66a30aa4bf6beaaf85b8c2878a2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80MC9mcmFnOmU1MzBlZmVkZDIzMDQ5ZDFiZDkxZTM4YTkxZGY0ODM4L3RhYmxlOjEzM2VhY2RiYzQ1ODRmNjBiNmM0MDAwZTA1YjQ2MWRlL3RhYmxlcmFuZ2U6MTMzZWFjZGJjNDU4NGY2MGI2YzQwMDBlMDViNDYxZGVfMy0xLTEtMS01NDUx_e270e03e-685a-4e3b-8138-82eb3b904080"
      unitRef="usd">103044000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:SupplementalBalanceSheetDisclosuresTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMzEyOA_1cd4fe29-ceda-4d4d-bee3-e3e9aabfcf51">Balance Sheet Details&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable, net consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-indent:22.5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.079%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.081%"/&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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&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;Accounts receivable&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;92,703&#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;70,824&#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;Allowance for doubtful accounts&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;(774)&lt;/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,405)&lt;/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;91,929&#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;69,419&#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;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventory consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-indent:22.5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.079%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.081%"/&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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&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 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;169&#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;34&#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;Finished goods&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;74,997&#160;&lt;/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;52,234&#160;&lt;/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;75,166&#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;52,268&#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;&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, net consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-indent:22.5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.079%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.081%"/&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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&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;Test equipment&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;38,876&#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;37,670&#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;Software&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;14,440&#160;&lt;/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;16,093&#160;&lt;/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;Computer equipment&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;10,594&#160;&lt;/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,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;text-align:left;vertical-align: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="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,733&#160;&lt;/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,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;text-align:left;vertical-align: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="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,189&#160;&lt;/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,345&#160;&lt;/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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;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;66,832&#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 colspan="2" style="background-color:#ffffff;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;66,239&#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:400;line-height:100%"&gt;Accumulated depreciation and amortization&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;(45,872)&lt;/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;(45,858)&lt;/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 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;20,960&#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;20,381&#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;&lt;div style="margin-top:1pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other long-term assets consisted of the following (in thousands):        &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:11pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.079%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.081%"/&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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&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;Intangible asset&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;7,543&#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;9,517&#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;Other long-term assets&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,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;2,648&#160;&lt;/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;11,014&#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;12,165&#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;&lt;div style="margin-top:7pt"&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;Intangible Asset Acquisition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In March 2018, and as amended in December 2020, the Company entered into an agreement with a vendor to develop a certain software product and related enhancements pursuant to which the Company is obligated to make revenue-share payments under the program, subject to aggregate fixed revenue-share payments of $15.8&#160;million. The payments are based on a revenue-share rate applied to revenue from the developed-product and the corresponding hardware sales through March 2024. If the minimum revenue-share payments are not achieved by the end of that period, a true-up payment will be due. The Company had its first sale in August 2019, and as a result, the Company capitalized an intangible asset with a value of $13.2&#160;million in the third quarter of 2019 and also recognized a liability of $13.2&#160;million (a non-cash investing activity). The intangible asset has an estimated five-year useful life and is being amortized using the greater of the ratio of current gross revenue for the products to the total of current and anticipated future gross revenue for the products or the straight-line method. As of October 2, 2021, the liability, including accrued interest, was $13.6&#160;million of which $4.4&#160;million is included in accrued liabilities and $9.2&#160;million in other long-term liabilities in the accompanying Condensed Consolidated Balance Sheet. As of December 31, 2020, the liability, including accrued interest, was $13.9&#160;million of which $2.9&#160;million was included in accrued liabilities and $11.0&#160;million in other long-term liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&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="margin-top:5pt;text-indent:22.5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.079%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.081%"/&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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&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;Compensation and related benefits&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;14,261&#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;23,740&#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;Warranty and retrofit&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,126&#160;&lt;/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,208&#160;&lt;/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;Component inventory held by suppliers&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,606&#160;&lt;/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,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;/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;Professional and consulting fees&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,595&#160;&lt;/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,497&#160;&lt;/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;Taxes payable&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,482&#160;&lt;/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,476&#160;&lt;/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;Current portion of revenue share obligations&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,397&#160;&lt;/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,925&#160;&lt;/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;Customer advances or rebates&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,358&#160;&lt;/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;8,374&#160;&lt;/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;Operating leases&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,151&#160;&lt;/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,994&#160;&lt;/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;Freight&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,587&#160;&lt;/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,955&#160;&lt;/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;Product returns&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,749&#160;&lt;/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,888&#160;&lt;/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;Operations&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;1,286&#160;&lt;/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;950&#160;&lt;/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&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;5,846&#160;&lt;/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,737&#160;&lt;/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;61,444&#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;68,736&#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;&lt;div style="margin-top:6pt"&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 the Company&#x2019;s accrued warranty and retrofit liability were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&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:41.590%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&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:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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:8pt;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="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:8pt;font-weight:700;line-height:100%"&gt;Nine 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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;September 26,&lt;br/&gt;2020&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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;September 26,&lt;br/&gt;2020&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;Balance at beginning of period&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;9,911&#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;7,732&#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;9,208&#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;7,294&#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;Provision for warranty and retrofit charged to cost of revenue&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;769&#160;&lt;/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,716&#160;&lt;/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,974&#160;&lt;/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,341&#160;&lt;/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;Utilization of reserve&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;(554)&lt;/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;(892)&lt;/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,056)&lt;/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,079)&lt;/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;Balance at end of period&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;10,126&#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;8,556&#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;10,126&#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;8,556&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:22.5pt"&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:400;line-height:120%"&gt;Accrued Restructuring Charges&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Responding to trends caused by the COVID-19 pandemic, the Company initiated a restructuring plan in June 2020 to accelerate the Company&#x2019;s All Platform future and to align with a work-from-anywhere culture. The Company incurred restructuring charges of approximately $6.3&#160;million, consisting of facilities-related charges and severance and other termination-related benefits during 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As part of the Company&#x2019;s shift to a work-from-anywhere culture, many of the Company&#x2019;s employees elected to work remotely on a permanent basis.  In light of this change, the Company evaluated its space needs and determined that a portion of the Company&#x2019;s leased office spaces in Richardson, Texas and San Jose, California would no longer be utilized. As a result, the right-of-use assets related to these leases were written down, resulting in a charge of $3.5&#160;million during 2020. In addition, the Company wrote off assets with net book value of $0.3&#160;million and accrued common areas maintenance fees and property taxes related to the unused office space totaling $1.4&#160;million during 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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 summarizes restructuring activities (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.715%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.412%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.348%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.412%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.348%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.412%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.353%"/&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="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:8pt;font-weight:700;line-height:100%"&gt;Facilities&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:8pt;font-weight:700;line-height:100%"&gt;Severance and Related 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:8pt;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;Balance as of December 31, 2020&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;1,244&#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;132&#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,376&#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 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 payments&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;(193)&lt;/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;(132)&lt;/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;(325)&lt;/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;Balance as of October 2, 2021&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;1,051&#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;&#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;1,051&#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:SupplementalBalanceSheetDisclosuresTextBlock>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMzA5Mw_dd688c91-4fef-4715-8794-b23e53584d8e">&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable, net consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-indent:22.5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.079%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.081%"/&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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&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;Accounts receivable&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;92,703&#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;70,824&#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;Allowance for doubtful accounts&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;(774)&lt;/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,405)&lt;/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;91,929&#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;69,419&#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:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmRmZTFkY2FjZjVlNzQxMmY5YTgwNzEwNDE2OGZiYmZhL3RhYmxlcmFuZ2U6ZGZlMWRjYWNmNWU3NDEyZjlhODA3MTA0MTY4ZmJiZmFfMS0yLTEtMS01NDUx_c145339c-0fb7-438f-99ac-7e88850f5936"
      unitRef="usd">92703000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmRmZTFkY2FjZjVlNzQxMmY5YTgwNzEwNDE2OGZiYmZhL3RhYmxlcmFuZ2U6ZGZlMWRjYWNmNWU3NDEyZjlhODA3MTA0MTY4ZmJiZmFfMS00LTEtMS01NDUx_4a940d68-9224-49f3-9cd0-f82c6598695f"
      unitRef="usd">70824000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmRmZTFkY2FjZjVlNzQxMmY5YTgwNzEwNDE2OGZiYmZhL3RhYmxlcmFuZ2U6ZGZlMWRjYWNmNWU3NDEyZjlhODA3MTA0MTY4ZmJiZmFfMi0yLTEtMS01NDUx_5aa9acae-8be1-428e-872b-909eb6d11156"
      unitRef="usd">774000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmRmZTFkY2FjZjVlNzQxMmY5YTgwNzEwNDE2OGZiYmZhL3RhYmxlcmFuZ2U6ZGZlMWRjYWNmNWU3NDEyZjlhODA3MTA0MTY4ZmJiZmFfMi00LTEtMS01NDUx_d9635658-2541-49a1-ac8c-d5fb0688cbcc"
      unitRef="usd">1405000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmRmZTFkY2FjZjVlNzQxMmY5YTgwNzEwNDE2OGZiYmZhL3RhYmxlcmFuZ2U6ZGZlMWRjYWNmNWU3NDEyZjlhODA3MTA0MTY4ZmJiZmFfMy0yLTEtMS01NDUx_7ccc825a-4118-4d0c-9dde-50dc0f0a32a7"
      unitRef="usd">91929000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmRmZTFkY2FjZjVlNzQxMmY5YTgwNzEwNDE2OGZiYmZhL3RhYmxlcmFuZ2U6ZGZlMWRjYWNmNWU3NDEyZjlhODA3MTA0MTY4ZmJiZmFfMy00LTEtMS01NDUx_2aea98d1-66c5-4f78-922a-f5bcd5c7e8d9"
      unitRef="usd">69419000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMzEyMA_5c2795e8-5553-4635-b4df-04657935a9d3">&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventory consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-indent:22.5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.079%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.081%"/&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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&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 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;169&#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;34&#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;Finished goods&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;74,997&#160;&lt;/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;52,234&#160;&lt;/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;75,166&#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;52,268&#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:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjgwMDM5YjQzMzVhNzRiOTE5NTBjMTQwZTNlZjk0NTg4L3RhYmxlcmFuZ2U6ODAwMzliNDMzNWE3NGI5MTk1MGMxNDBlM2VmOTQ1ODhfMS0yLTEtMS01NDUx_a64e750f-5249-403d-8410-bd293d86ea8a"
      unitRef="usd">169000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjgwMDM5YjQzMzVhNzRiOTE5NTBjMTQwZTNlZjk0NTg4L3RhYmxlcmFuZ2U6ODAwMzliNDMzNWE3NGI5MTk1MGMxNDBlM2VmOTQ1ODhfMS00LTEtMS01NDUx_5fa7b233-5504-478d-a0d5-520d7c96bdba"
      unitRef="usd">34000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjgwMDM5YjQzMzVhNzRiOTE5NTBjMTQwZTNlZjk0NTg4L3RhYmxlcmFuZ2U6ODAwMzliNDMzNWE3NGI5MTk1MGMxNDBlM2VmOTQ1ODhfMi0yLTEtMS01NDUx_722e7a63-f8e7-4461-9107-bcafd51abfaa"
      unitRef="usd">74997000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjgwMDM5YjQzMzVhNzRiOTE5NTBjMTQwZTNlZjk0NTg4L3RhYmxlcmFuZ2U6ODAwMzliNDMzNWE3NGI5MTk1MGMxNDBlM2VmOTQ1ODhfMi00LTEtMS01NDUx_e9356fdc-33e9-48cc-97b1-03531414c143"
      unitRef="usd">52234000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjgwMDM5YjQzMzVhNzRiOTE5NTBjMTQwZTNlZjk0NTg4L3RhYmxlcmFuZ2U6ODAwMzliNDMzNWE3NGI5MTk1MGMxNDBlM2VmOTQ1ODhfMy0yLTEtMS01NDUx_108656da-4f0a-4d5a-b55f-9d5442326c4e"
      unitRef="usd">75166000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjgwMDM5YjQzMzVhNzRiOTE5NTBjMTQwZTNlZjk0NTg4L3RhYmxlcmFuZ2U6ODAwMzliNDMzNWE3NGI5MTk1MGMxNDBlM2VmOTQ1ODhfMy00LTEtMS01NDUx_8091e5bc-61ca-4f3d-ad35-03b9f06aa866"
      unitRef="usd">52268000</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMzEyNg_b16d8872-6eb2-4853-9034-e59dedbd1585">&lt;div style="margin-top:7pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, net consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-indent:22.5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.079%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.081%"/&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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&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;Test equipment&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;38,876&#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;37,670&#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;Software&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;14,440&#160;&lt;/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;16,093&#160;&lt;/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;Computer equipment&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;10,594&#160;&lt;/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,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;text-align:left;vertical-align: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="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,733&#160;&lt;/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,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;text-align:left;vertical-align: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="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,189&#160;&lt;/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,345&#160;&lt;/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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;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;66,832&#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 colspan="2" style="background-color:#ffffff;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;66,239&#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:400;line-height:100%"&gt;Accumulated depreciation and amortization&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;(45,872)&lt;/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;(45,858)&lt;/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 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;20,960&#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;20,381&#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:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ie64184d8da4741ac89d97a8b2248f50c_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfMS0yLTEtMS01NDUx_e19fccde-294c-4052-b968-7fd9a8ccf4a2"
      unitRef="usd">38876000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ib48cd01fe71541729a887e49debdb7e4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfMS00LTEtMS01NDUx_1ffe71ca-78ab-4ddb-86bf-199a42ca0f55"
      unitRef="usd">37670000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i824b1699007843c7a4b8120623b581fc_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfMi0yLTEtMS01NDUx_576277be-48dc-461f-addf-23540f030285"
      unitRef="usd">14440000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ia5b73b59f9344c7ba678391a99b117e7_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfMi00LTEtMS01NDUx_55c25900-e774-487e-a7df-9ce62a696f44"
      unitRef="usd">16093000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="if7a966696c63400b8ea9887b3678cec4_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfMy0yLTEtMS01NDUx_52efee08-b7a3-4050-8231-78f463db3152"
      unitRef="usd">10594000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ie98412dd96314b14bbde364e09cdbabb_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfMy00LTEtMS01NDUx_bb68e952-a8ac-4caa-b337-d59de5b3bebb"
      unitRef="usd">9062000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ic011dad94be943aaa99b45d8862d3a2f_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfNC0yLTEtMS01NDUx_cf537a1d-3572-4256-9f72-26e45d6a002d"
      unitRef="usd">1733000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i86e321774a554598ae0fa13d7dfd2184_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfNC00LTEtMS01NDUx_69747501-e0dd-4503-a7da-f01f720e8a15"
      unitRef="usd">2069000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="idc424497c33d4090a7ce2d2a356c3bc3_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfNS0yLTEtMS01NDUx_1ff7670c-e31c-4bac-8dbd-360e19da1c87"
      unitRef="usd">1189000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i3a25fc33ed4348d3a66fe7ec34ebcaa0_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfNS00LTEtMS01NDUx_49bf4aae-1d26-413c-ac78-68adcd877dee"
      unitRef="usd">1345000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfNi0yLTEtMS01NDUx_6a6fe400-bdf7-4cfb-9d3f-b63d6e7ea41b"
      unitRef="usd">66832000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfNi00LTEtMS01NDUx_0e954430-209f-4176-896d-e6065fe2f986"
      unitRef="usd">66239000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfNy0yLTEtMS01NDUx_050ec381-2435-447f-8267-58045039eb29"
      unitRef="usd">45872000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfNy00LTEtMS01NDUx_4c7b2636-8c8c-4f5c-872c-c4998a4669bf"
      unitRef="usd">45858000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfOC0yLTEtMS01NDUx_a8cd2a4c-4506-4515-a8fb-2c77ca9f22f5"
      unitRef="usd">20960000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmMyYzJmZDkyYTE0MjQ4MmJiYzIzNWQzMmMyMTE0MGQxL3RhYmxlcmFuZ2U6YzJjMmZkOTJhMTQyNDgyYmJjMjM1ZDMyYzIxMTQwZDFfOC00LTEtMS01NDUx_18279c19-cb1e-4f82-9573-1d9643069996"
      unitRef="usd">20381000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMzA3NQ_17c29c98-e92f-4948-aefc-ab3d9adfb4be">&lt;div style="margin-top:1pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other long-term assets consisted of the following (in thousands):        &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:11pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.079%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.081%"/&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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&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;Intangible asset&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;7,543&#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;9,517&#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;Other long-term assets&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,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;2,648&#160;&lt;/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;11,014&#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;12,165&#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:ScheduleOfOtherAssetsNoncurrentTextBlock>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjMxYTEzMDI0NDJmOTRkNTM5NmFhMzIyODIwYzNhYmZmL3RhYmxlcmFuZ2U6MzFhMTMwMjQ0MmY5NGQ1Mzk2YWEzMjI4MjBjM2FiZmZfMS0yLTEtMS01NDUx_405d2951-68e7-4c57-895d-111818558204"
      unitRef="usd">7543000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjMxYTEzMDI0NDJmOTRkNTM5NmFhMzIyODIwYzNhYmZmL3RhYmxlcmFuZ2U6MzFhMTMwMjQ0MmY5NGQ1Mzk2YWEzMjI4MjBjM2FiZmZfMS00LTEtMS01NDUx_3b3842da-95e6-4722-8c41-dbbb843a1b60"
      unitRef="usd">9517000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:OtherAssetsMiscellaneousNoncurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjMxYTEzMDI0NDJmOTRkNTM5NmFhMzIyODIwYzNhYmZmL3RhYmxlcmFuZ2U6MzFhMTMwMjQ0MmY5NGQ1Mzk2YWEzMjI4MjBjM2FiZmZfMi0yLTEtMS01NDUx_30055578-3b82-4720-b4b8-06599a86487f"
      unitRef="usd">3471000</us-gaap:OtherAssetsMiscellaneousNoncurrent>
    <us-gaap:OtherAssetsMiscellaneousNoncurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjMxYTEzMDI0NDJmOTRkNTM5NmFhMzIyODIwYzNhYmZmL3RhYmxlcmFuZ2U6MzFhMTMwMjQ0MmY5NGQ1Mzk2YWEzMjI4MjBjM2FiZmZfMi00LTEtMS01NDUx_5573fd1d-35e9-4b7d-83ac-2b2574aabca0"
      unitRef="usd">2648000</us-gaap:OtherAssetsMiscellaneousNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjMxYTEzMDI0NDJmOTRkNTM5NmFhMzIyODIwYzNhYmZmL3RhYmxlcmFuZ2U6MzFhMTMwMjQ0MmY5NGQ1Mzk2YWEzMjI4MjBjM2FiZmZfMy0yLTEtMS01NDUx_6a5b9f61-3ba0-4f44-b3bc-e447ec07d223"
      unitRef="usd">11014000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjMxYTEzMDI0NDJmOTRkNTM5NmFhMzIyODIwYzNhYmZmL3RhYmxlcmFuZ2U6MzFhMTMwMjQ0MmY5NGQ1Mzk2YWEzMjI4MjBjM2FiZmZfMy00LTEtMS01NDUx_b4a093b1-f898-47bb-95da-96611ac60ffc"
      unitRef="usd">12165000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:RoyaltyGuaranteesCommitmentsAmount
      contextRef="iba9044f04b6e454f8355aac53a4440ff_I20180331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfNjQx_9f1e5e53-7378-46f9-8247-46345d6f45ce"
      unitRef="usd">15800000</us-gaap:RoyaltyGuaranteesCommitmentsAmount>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="if83f9c370cd84c8ca048664140a5f25a_I20190928"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMTAzMg_50c50a59-eca6-47f9-a621-8b21ca6bd670"
      unitRef="usd">13200000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:OtherLiabilities
      contextRef="if83f9c370cd84c8ca048664140a5f25a_I20190928"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMTA5OQ_a6aed9c1-8469-4a35-b56a-0becfb57e6ee"
      unitRef="usd">13200000</us-gaap:OtherLiabilities>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i16d7bebbeed74c3982a1db4aaebc555b_D20190630-20190928"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMzA5OA_6579a4d1-f8e8-43f7-985b-fedc8f8dd962">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:OtherLiabilities
      contextRef="i80336faa7f4e4662933379d5a174bc71_I20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMTQ2Mw_34861288-9ea8-4037-a307-999a7ca8552e"
      unitRef="usd">13600000</us-gaap:OtherLiabilities>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i80336faa7f4e4662933379d5a174bc71_I20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMTQ3NQ_d6a0f3ed-c184-4eeb-a15d-0091761ae9df"
      unitRef="usd">4400000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i80336faa7f4e4662933379d5a174bc71_I20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMTUxNw_15ac6f72-6809-4b9b-96ae-9048903b27b2"
      unitRef="usd">9200000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilities
      contextRef="i1f6d3a747de64c27a25cd4680f47b0fa_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMTY4MQ_35829e4a-c87c-4678-9f5c-ada74271655c"
      unitRef="usd">13900000</us-gaap:OtherLiabilities>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i1f6d3a747de64c27a25cd4680f47b0fa_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMTY5Mw_fd2fb60d-bd6b-4a4e-8f95-6b4fec5019b3"
      unitRef="usd">2900000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i1f6d3a747de64c27a25cd4680f47b0fa_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMTczNg_cfe0630c-1260-4cfd-821e-b95f18c7364f"
      unitRef="usd">11000000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMzA5NQ_ee588700-48f5-4210-8ed1-b1f79e1c0d4f">&lt;div style="margin-top:12pt"&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="margin-top:5pt;text-indent:22.5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.079%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.081%"/&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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&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;Compensation and related benefits&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;14,261&#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;23,740&#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;Warranty and retrofit&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,126&#160;&lt;/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,208&#160;&lt;/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;Component inventory held by suppliers&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,606&#160;&lt;/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,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;/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;Professional and consulting fees&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,595&#160;&lt;/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,497&#160;&lt;/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;Taxes payable&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,482&#160;&lt;/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,476&#160;&lt;/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;Current portion of revenue share obligations&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,397&#160;&lt;/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,925&#160;&lt;/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;Customer advances or rebates&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,358&#160;&lt;/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;8,374&#160;&lt;/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;Operating leases&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,151&#160;&lt;/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,994&#160;&lt;/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;Freight&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,587&#160;&lt;/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,955&#160;&lt;/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;Product returns&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,749&#160;&lt;/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,888&#160;&lt;/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;Operations&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;1,286&#160;&lt;/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;950&#160;&lt;/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&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;5,846&#160;&lt;/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,737&#160;&lt;/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;61,444&#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;68,736&#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="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMS0yLTEtMS01NDUx_cf11f55e-fa56-46e3-b0e6-14d74e746ff9"
      unitRef="usd">14261000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMS00LTEtMS01NDUx_16a63c4e-6346-42cf-9514-886a1deb5164"
      unitRef="usd">23740000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMi0yLTEtMS01NDUx_af435693-c9ff-4950-a473-a4e2673a2426"
      unitRef="usd">10126000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMi00LTEtMS01NDUx_9128eba5-fa61-495d-bcd7-a0cfef23d525"
      unitRef="usd">9208000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMy0yLTEtMS01NDUx_1087cbc2-6030-4671-8512-038ce208d688"
      unitRef="usd">4606000</calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer>
    <calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMy00LTEtMS01NDUx_919a7daa-330b-4de6-98ff-e5d54b9d4605"
      unitRef="usd">3992000</calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfNC0yLTEtMS01NDUx_a29aa493-8b1e-4c5d-a8d6-0d289a0b4670"
      unitRef="usd">4595000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfNC00LTEtMS01NDUx_7c468c83-685f-4410-a7bf-b9225011a090"
      unitRef="usd">4497000</us-gaap:AccruedProfessionalFeesCurrent>
    <calx:TaxesPayableCurrentExcludingAccruedIncomeTaxes
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfNS0yLTEtMS01NDUx_075635ba-e9f0-43e3-941c-6057f2b8f6f8"
      unitRef="usd">4482000</calx:TaxesPayableCurrentExcludingAccruedIncomeTaxes>
    <calx:TaxesPayableCurrentExcludingAccruedIncomeTaxes
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfNS00LTEtMS01NDUx_4f90d762-745c-410d-a8c2-86e23ab105d9"
      unitRef="usd">3476000</calx:TaxesPayableCurrentExcludingAccruedIncomeTaxes>
    <calx:RevenueShareObligationCurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfNi0yLTEtMS01NDUx_9c0bed92-5b96-4afd-b8d9-6ea8eff7a5f0"
      unitRef="usd">4397000</calx:RevenueShareObligationCurrent>
    <calx:RevenueShareObligationCurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfNi00LTEtMS01NDUx_01e2e940-14bc-483f-bfa5-e2f6117f1084"
      unitRef="usd">2925000</calx:RevenueShareObligationCurrent>
    <calx:AccruedCustomerRebates
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfNy0yLTEtMS01NDUx_f4b38863-9d0b-4066-a0d3-4e00f508572d"
      unitRef="usd">4358000</calx:AccruedCustomerRebates>
    <calx:AccruedCustomerRebates
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfNy00LTEtMS01NDUx_3030a58b-c9a3-4020-83c4-9459ee54d58f"
      unitRef="usd">8374000</calx:AccruedCustomerRebates>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfOC0yLTEtMS01NDUx_6dd2ef4e-9902-489b-8494-c5e2314bf7ab"
      unitRef="usd">3151000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfOC00LTEtMS01NDUx_34f82f6b-6103-49a8-ade2-fbbb05c3f62e"
      unitRef="usd">2994000</us-gaap:OperatingLeaseLiabilityCurrent>
    <calx:AccruedFreight
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfOS0yLTEtMS01NDUx_b643498e-708a-4862-8b00-65fd07b2fcbc"
      unitRef="usd">2587000</calx:AccruedFreight>
    <calx:AccruedFreight
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfOS00LTEtMS01NDUx_f5782fb0-a1c7-4bd9-ac14-0794e709e418"
      unitRef="usd">1955000</calx:AccruedFreight>
    <calx:ProductReturnReserveCurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMTAtMi0xLTEtNTQ1MQ_1586109c-9a68-4614-a20f-ea69017098ca"
      unitRef="usd">1749000</calx:ProductReturnReserveCurrent>
    <calx:ProductReturnReserveCurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMTAtNC0xLTEtNTQ1MQ_c2981d94-2183-4bb8-a7eb-93e958be7e1e"
      unitRef="usd">1888000</calx:ProductReturnReserveCurrent>
    <us-gaap:RestructuringReserveCurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMTEtMi0xLTEtNTQ1MQ_f247a637-7434-40c9-a2bc-8f3cb640aa08"
      unitRef="usd">1286000</us-gaap:RestructuringReserveCurrent>
    <us-gaap:RestructuringReserveCurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMTEtNC0xLTEtNTQ1MQ_baa05b4b-9c29-45f5-80ff-e3edb9e12589"
      unitRef="usd">950000</us-gaap:RestructuringReserveCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMTItMi0xLTEtNTQ1MQ_5dd04124-3143-43ee-94d3-83944ec6819b"
      unitRef="usd">5846000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMTItNC0xLTEtNTQ1MQ_e33de2b4-b067-4d4f-8c2e-27f7260c8995"
      unitRef="usd">4737000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMTMtMi0xLTEtNTQ1MQ_eb09ef37-1b4b-4d08-bb84-4d20fdf51f08"
      unitRef="usd">61444000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOmM2M2Q5Y2EyNWI0NTQ4MWY4OTk3NGJmMWUzYjg5OWFhL3RhYmxlcmFuZ2U6YzYzZDljYTI1YjQ1NDgxZjg5OTc0YmYxZTNiODk5YWFfMTMtNC0xLTEtNTQ1MQ_af168eae-4fec-449f-bcad-fe7372ef0fa8"
      unitRef="usd">68736000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMzA3Ng_ec172ae1-daba-42a5-a12d-2bea23673906">&lt;div style="margin-top:6pt"&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 the Company&#x2019;s accrued warranty and retrofit liability were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&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:41.590%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&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:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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:8pt;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="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:8pt;font-weight:700;line-height:100%"&gt;Nine 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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;September 26,&lt;br/&gt;2020&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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;September 26,&lt;br/&gt;2020&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;Balance at beginning of period&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;9,911&#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;7,732&#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;9,208&#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;7,294&#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;Provision for warranty and retrofit charged to cost of revenue&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;769&#160;&lt;/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,716&#160;&lt;/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,974&#160;&lt;/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,341&#160;&lt;/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;Utilization of reserve&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;(554)&lt;/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;(892)&lt;/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,056)&lt;/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,079)&lt;/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;Balance at end of period&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;10,126&#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;8,556&#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;10,126&#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;8,556&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:ProductWarrantyAccrual
      contextRef="ibdff310060b846bfb5608e4f0b9de9d5_I20210703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfMi0yLTEtMS01NDUx_8d920bff-c0cc-4bf6-9377-be6a24b3c550"
      unitRef="usd">9911000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="if85299be32f348a59681f41a2b3c4943_I20200627"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfMi00LTEtMS01NDUx_5db9b91a-24db-4b90-a1c3-36a14c067025"
      unitRef="usd">7732000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfMi02LTEtMS01NDUx_5b673389-6bc8-49f8-a518-52a64e8a2f2f"
      unitRef="usd">9208000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i01677da6d89f44ccbc9a41104c439270_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfMi04LTEtMS01NDUx_a62ab24d-1a2c-4807-acd6-0e5f89fc4110"
      unitRef="usd">7294000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfMy0yLTEtMS01NDUx_f623f6cc-02d3-4155-ba5a-9274d1c07d6f"
      unitRef="usd">769000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfMy00LTEtMS01NDUx_55ab6126-fd1c-46e8-971a-edcb9edcdd3d"
      unitRef="usd">1716000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfMy02LTEtMS01NDUx_f5c3a243-a9c5-46ee-977a-49337584eaed"
      unitRef="usd">2974000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfMy04LTEtMS01NDUx_41c091e2-8b32-4f2c-b744-774e9b4fcff4"
      unitRef="usd">4341000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfNC0yLTEtMS01NDUx_2038d20f-a713-4812-8532-b8f886fe1eac"
      unitRef="usd">554000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfNC00LTEtMS01NDUx_fb4044ac-17b4-4691-a228-1f6cad5e61c4"
      unitRef="usd">892000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfNC02LTEtMS01NDUx_4f148434-a710-4342-af2a-ad62106069b5"
      unitRef="usd">2056000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfNC04LTEtMS01NDUx_86a7a391-7a57-4981-973d-218437bdd545"
      unitRef="usd">3079000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrual
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfNi0yLTEtMS01NDUx_08ad95ae-11db-403b-91e3-58c9532229f7"
      unitRef="usd">10126000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i5b5927dd8cce44bc93f27feb4b7c149e_I20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfNi00LTEtMS01NDUx_0fb6eb0f-47db-4ceb-b8b3-72773c830f40"
      unitRef="usd">8556000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfNi02LTEtMS01NDUx_ee0f4334-6d1f-47c3-a556-fe00a330f9d7"
      unitRef="usd">10126000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i5b5927dd8cce44bc93f27feb4b7c149e_I20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjNiOTExMmNiZDczODQyMjk4OGRjZDZhN2ZlMjYyZDdiL3RhYmxlcmFuZ2U6M2I5MTEyY2JkNzM4NDIyOTg4ZGNkNmE3ZmUyNjJkN2JfNi04LTEtMS01NDUx_1cf71f64-1b2e-4bf3-be4d-00249976cacc"
      unitRef="usd">8556000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:RestructuringCharges
      contextRef="i327009b331d4449bb2a0296d9ff61507_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMjIzMg_896051c9-2136-42a3-9eb2-a26dd9cb329c"
      unitRef="usd">6300000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="if8edbbcca1184addaa516c1e0794880b_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMjc5OA_53bc312f-632c-446e-9918-e66b947689ee"
      unitRef="usd">3500000</us-gaap:RestructuringCharges>
    <calx:AssetWriteOff
      contextRef="i327009b331d4449bb2a0296d9ff61507_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMjg3OQ_35250860-ad25-4f6d-94f8-c972e626ceef"
      unitRef="usd">300000</calx:AssetWriteOff>
    <calx:AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff
      contextRef="i327009b331d4449bb2a0296d9ff61507_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMjk4Nw_72ffb48e-bf6f-445d-a16f-8da28f6aee64"
      unitRef="usd">1400000</calx:AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff>
    <us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RleHRyZWdpb246NmY2MWMzZTYzNzRlNDBkMzk2YWE4MTM2YWM0ZjEwYzRfMzEwMw_b38ca90a-71f2-4f70-9516-e6a38891873e">&lt;div style="margin-top:6pt"&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 summarizes restructuring activities (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.715%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.412%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.348%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.412%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.348%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.412%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.353%"/&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="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:8pt;font-weight:700;line-height:100%"&gt;Facilities&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:8pt;font-weight:700;line-height:100%"&gt;Severance and Related 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:8pt;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;Balance as of December 31, 2020&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;1,244&#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;132&#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,376&#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 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 payments&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;(193)&lt;/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;(132)&lt;/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;(325)&lt;/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;Balance as of October 2, 2021&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;1,051&#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;&#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;1,051&#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:ScheduleOfRestructuringAndRelatedCostsTextBlock>
    <us-gaap:RestructuringReserve
      contextRef="i821bbed98cc4449d9c0818ac60ef5c48_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjA3NTg0ZTExNDFmYzRmYzVhZDA0YThlNDBjNzhkOWFhL3RhYmxlcmFuZ2U6MDc1ODRlMTE0MWZjNGZjNWFkMDRhOGU0MGM3OGQ5YWFfMS0yLTEtMS01NDUx_6ebf9b4f-3207-4743-9245-8e149a524689"
      unitRef="usd">1244000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="i8a9d69567ccc4d71bf2a8f7efc113576_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjA3NTg0ZTExNDFmYzRmYzVhZDA0YThlNDBjNzhkOWFhL3RhYmxlcmFuZ2U6MDc1ODRlMTE0MWZjNGZjNWFkMDRhOGU0MGM3OGQ5YWFfMS00LTEtMS01NDUx_85459175-0d1a-4b4b-bc2b-b989c092c48d"
      unitRef="usd">132000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjA3NTg0ZTExNDFmYzRmYzVhZDA0YThlNDBjNzhkOWFhL3RhYmxlcmFuZ2U6MDc1ODRlMTE0MWZjNGZjNWFkMDRhOGU0MGM3OGQ5YWFfMS02LTEtMS01NDUx_54247d6c-4a8f-4acd-a61b-893529ad0818"
      unitRef="usd">1376000</us-gaap:RestructuringReserve>
    <us-gaap:PaymentsForRestructuring
      contextRef="iaa88655af0f243bf9022dab4a57016b5_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjA3NTg0ZTExNDFmYzRmYzVhZDA0YThlNDBjNzhkOWFhL3RhYmxlcmFuZ2U6MDc1ODRlMTE0MWZjNGZjNWFkMDRhOGU0MGM3OGQ5YWFfNC0yLTEtMS01NDUx_97cc90eb-378b-47b4-926c-45422ce271ed"
      unitRef="usd">193000</us-gaap:PaymentsForRestructuring>
    <us-gaap:PaymentsForRestructuring
      contextRef="i86780f7fafac4aaea0e6f929f67f3b8a_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjA3NTg0ZTExNDFmYzRmYzVhZDA0YThlNDBjNzhkOWFhL3RhYmxlcmFuZ2U6MDc1ODRlMTE0MWZjNGZjNWFkMDRhOGU0MGM3OGQ5YWFfNC00LTEtMS01NDUx_25fc6ac3-1041-46bd-87df-b80f37eebc65"
      unitRef="usd">132000</us-gaap:PaymentsForRestructuring>
    <us-gaap:PaymentsForRestructuring
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjA3NTg0ZTExNDFmYzRmYzVhZDA0YThlNDBjNzhkOWFhL3RhYmxlcmFuZ2U6MDc1ODRlMTE0MWZjNGZjNWFkMDRhOGU0MGM3OGQ5YWFfNC02LTEtMS01NDUx_d16d5ec1-a61c-4b10-acd9-d764ac9ebd0c"
      unitRef="usd">325000</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserve
      contextRef="ia54af817c8084c6089e2e9aad2754d6c_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjA3NTg0ZTExNDFmYzRmYzVhZDA0YThlNDBjNzhkOWFhL3RhYmxlcmFuZ2U6MDc1ODRlMTE0MWZjNGZjNWFkMDRhOGU0MGM3OGQ5YWFfNS0yLTEtMS01NDUx_0af6e80c-f009-4a58-a6a4-743c9dbd4cc2"
      unitRef="usd">1051000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="ibb78188966b74ac0b2ca062fc7dfd7e1_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjA3NTg0ZTExNDFmYzRmYzVhZDA0YThlNDBjNzhkOWFhL3RhYmxlcmFuZ2U6MDc1ODRlMTE0MWZjNGZjNWFkMDRhOGU0MGM3OGQ5YWFfNS00LTEtMS01NDUx_54b51726-93f9-413a-bbe6-12154c8f81c0"
      unitRef="usd">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80My9mcmFnOjZmNjFjM2U2Mzc0ZTQwZDM5NmFhODEzNmFjNGYxMGM0L3RhYmxlOjA3NTg0ZTExNDFmYzRmYzVhZDA0YThlNDBjNzhkOWFhL3RhYmxlcmFuZ2U6MDc1ODRlMTE0MWZjNGZjNWFkMDRhOGU0MGM3OGQ5YWFfNS02LTEtMS01NDUx_8477eb5b-4f56-45c0-9eb1-66419345ac5b"
      unitRef="usd">1051000</us-gaap:RestructuringReserve>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80Ni9mcmFnOmYyYTU3YjMxMzUyNDQzNGJhNzgzMDEzZGJjM2E2NmUxL3RleHRyZWdpb246ZjJhNTdiMzEzNTI0NDM0YmE3ODMwMTNkYmMzYTY2ZTFfOTU1_e3407c6a-f650-4294-ac72-7190f90ffc16">Credit AgreementThe Company has a loan and security agreement with Bank of America, N.A. (&#x201c;BofA Loan Agreement&#x201d;). The BofA Loan Agreement provides for a revolving facility up to a principal amount of $35.0 million,&#160;including a&#160;$10.0 million&#160;sublimit for letters of credit. The BofA Loan Agreement matures, and any outstanding amounts become due and payable, in January 2023. The BofA Loan Agreement is secured by substantially all of the Company&#x2019;s assets, including its intellectual property. Loans under the credit facility bear interest at a rate per annum equal to either LIBOR (customarily defined) plus an applicable margin between&#160;1.5%&#160;to&#160;2.0%&#160;or Prime Rate (customarily defined) plus an applicable margin between&#160;0.5%&#160;to&#160;1.0% (3.75% as of October&#160;2, 2021), in each case largely based on a fixed charge coverage ratio measured at the end of each fiscal quarter. As of October&#160;2, 2021, the Company had no outstanding borrowings and had full availability of borrowings up to $35.0 million.</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i5bea453f7dc8426ba1c703b598ad6e30_I20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80Ni9mcmFnOmYyYTU3YjMxMzUyNDQzNGJhNzgzMDEzZGJjM2E2NmUxL3RleHRyZWdpb246ZjJhNTdiMzEzNTI0NDM0YmE3ODMwMTNkYmMzYTY2ZTFfMjI2_7b200068-7abd-4478-8e7f-14f3f5446d13"
      unitRef="usd">35000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i316173499cff4977b47d0537c28c69b0_I20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80Ni9mcmFnOmYyYTU3YjMxMzUyNDQzNGJhNzgzMDEzZGJjM2E2NmUxL3RleHRyZWdpb246ZjJhNTdiMzEzNTI0NDM0YmE3ODMwMTNkYmMzYTY2ZTFfMjQy_c1cc44f2-a48d-4f12-ba4c-bd4dea908d74"
      unitRef="usd">10000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i4436e314311e4afab8714b1a96fa8378_D20210101-20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80Ni9mcmFnOmYyYTU3YjMxMzUyNDQzNGJhNzgzMDEzZGJjM2E2NmUxL3RleHRyZWdpb246ZjJhNTdiMzEzNTI0NDM0YmE3ODMwMTNkYmMzYTY2ZTFfNjQx_93e85ddd-dd4d-41f8-9148-e9d92d1a840c"
      unitRef="number">0.015</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i81c0da0651e94f2f9eedfe6f8aba427a_D20210101-20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80Ni9mcmFnOmYyYTU3YjMxMzUyNDQzNGJhNzgzMDEzZGJjM2E2NmUxL3RleHRyZWdpb246ZjJhNTdiMzEzNTI0NDM0YmE3ODMwMTNkYmMzYTY2ZTFfNjQ3_356f118a-2864-4a11-85e2-5cdd08c9254b"
      unitRef="number">0.020</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i27476bbe7e504f478dc9f52396d8a422_D20210101-20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80Ni9mcmFnOmYyYTU3YjMxMzUyNDQzNGJhNzgzMDEzZGJjM2E2NmUxL3RleHRyZWdpb246ZjJhNTdiMzEzNTI0NDM0YmE3ODMwMTNkYmMzYTY2ZTFfNzIw_a51e3c59-bddb-4020-b82d-0040409bc926"
      unitRef="number">0.005</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i9c0ae4c4a012454385ecd85a98aec2c7_D20210101-20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80Ni9mcmFnOmYyYTU3YjMxMzUyNDQzNGJhNzgzMDEzZGJjM2E2NmUxL3RleHRyZWdpb246ZjJhNTdiMzEzNTI0NDM0YmE3ODMwMTNkYmMzYTY2ZTFfNzI2_c9dc350a-c5fc-441e-854d-eab784ddf3a1"
      unitRef="number">0.010</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i119accbad0644664991a2fc5abd44545_I20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80Ni9mcmFnOmYyYTU3YjMxMzUyNDQzNGJhNzgzMDEzZGJjM2E2NmUxL3RleHRyZWdpb246ZjJhNTdiMzEzNTI0NDM0YmE3ODMwMTNkYmMzYTY2ZTFfNzMw_04e37486-2b1f-4e3a-8661-92f94f5dc465"
      unitRef="number">0.0375</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:LineOfCredit
      contextRef="i5bea453f7dc8426ba1c703b598ad6e30_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80Ni9mcmFnOmYyYTU3YjMxMzUyNDQzNGJhNzgzMDEzZGJjM2E2NmUxL3RleHRyZWdpb246ZjJhNTdiMzEzNTI0NDM0YmE3ODMwMTNkYmMzYTY2ZTFfODc0_65f9309d-6841-4003-93c9-5d28d7c3785a"
      unitRef="usd">0</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="i5bea453f7dc8426ba1c703b598ad6e30_I20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80Ni9mcmFnOmYyYTU3YjMxMzUyNDQzNGJhNzgzMDEzZGJjM2E2NmUxL3RleHRyZWdpb246ZjJhNTdiMzEzNTI0NDM0YmE3ODMwMTNkYmMzYTY2ZTFfOTQ2_05125776-6431-4e9d-9bed-ab91c45fd3d3"
      unitRef="usd">35000000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfMzcwOA_fe592025-d0b4-4a13-b6fa-ef63cd72f00b">Commitments and Contingencies&lt;div style="margin-top:12pt"&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;Lease Commitments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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 leases office space under non-cancelable operating leases. Certain of the Company&#x2019;s operating leases contain renewal options and rent acceleration clauses. Future minimum payments under the non-cancelable operating leases consisted of the following as of October&#160;2, 2021 (in&#160;thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:75.010%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.016%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.674%"/&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:8pt;font-weight:700;line-height:100%"&gt;Period&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:8pt;font-weight:700;line-height:100%"&gt;Future Minimum Lease Payments&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 2021&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;1,005&#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;2022&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,014&#160;&lt;/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;2023&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,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;/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;3,962&#160;&lt;/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;3,453&#160;&lt;/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;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 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;Total future 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;16,766&#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 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;Less imputed interest&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,099)&lt;/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;14,667&#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;&lt;div style="margin-top:1pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of October&#160;2, 2021, the operating lease liability consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.052%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:78.656%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:3.314%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.730%"/&gt;&lt;td style="width:0.1%"/&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="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;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmIzN2YyOWZkNGJiNjRjZDBiMmFhMGM1NDM4ODBiOWRhL3RhYmxlcmFuZ2U6YjM3ZjI5ZmQ0YmI2NGNkMGIyYWEwYzU0Mzg4MGI5ZGFfMS0wLTEtMS01NDUx_31b3eaa5-08ea-4bbe-a999-f87feedfed4b"&gt;Accrued liabilities - current portion of operating leases&lt;/span&gt;&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;3,151&#160;&lt;/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="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;Operating leases&lt;/span&gt;&lt;/td&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;11,516&#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: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;14,667&#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;&lt;div style="margin-top:6pt"&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 leases its headquarters office space in San Jose, California under a lease agreement that expires in December 2025. The future minimum lease payments under the lease are $10.2 million and are included in the table above.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted average discount rate for the Company&#x2019;s operating leases as of October&#160;2, 2021 was 6.5%. The weighted average remaining lease term as of October&#160;2, 2021 was 4.1 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the three and nine months ended October&#160;2, 2021, total rent expense of the Company was $1.0&#160;million and $3.1&#160;million, respectively. For the three and nine months ended September&#160;26, 2020, total rent expense of the Company was $0.9&#160;million and $3.1&#160;million, respectively. Cash paid within operating cash flows for operating leases was $2.9 million and $2.5&#160;million for the nine months ended October&#160;2, 2021 and September&#160;26, 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&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;Purchase Commitments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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&#x2019;s suppliers, including contract manufacturers (&#x201c;CMs&#x201d;) and original design manufacturers (&#x201c;ODMs&#x201d;), place orders for certain component inventory in advance based upon the Company&#x2019;s build forecasts in order to reduce manufacturing lead times and ensure adequate component supply. The components are used by the CMs and ODMs to build the products included in the build forecasts. The Company generally does not take ownership of the components held by CMs and ODMs. The Company places purchase orders with its CMs and ODMs in order to fulfill its monthly finished product inventory requirements. The Company incurs a liability when the CMs and ODMs convert the component inventory to a finished product and takes ownership of the finished goods inventory. In the event of termination of services with a manufacturing partner, the Company has purchased, and may be required to purchase in the future, certain of the remaining components inventory held by the CM or ODM as well as any outstanding orders pursuant to the contractual provisions with such CM or ODM. As of October&#160;2, 2021, the Company had approximately $184.1 million of outstanding purchase commitments for inventories to be delivered by its suppliers, including CMs and ODMs, within one year.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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 from time to time, and subject to certain conditions, reimbursed certain suppliers for component inventory purchases when this inventory has been rendered excess or obsolete, for example due to manufacturing and engineering change orders resulting from design changes, manufacturing discontinuation of products by its suppliers, or in cases where the Company has committed inventory levels that greatly exceed projected demand. The estimated excess and obsolete inventory liabilities related to such manufacturing and engineering change orders and other factors, which are included in accrued liabilities in the accompanying balance sheets, were $4.6 million and $4.0 million as of October&#160;2, 2021 and December&#160;31, 2020, respectively. The Company records the related charges in cost of systems revenue in its Condensed Consolidated Statements of Comprehensive Income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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;Litigation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;From time to time, the Company is involved in various legal proceedings arising from the normal course of business activities. The Company is not currently a party to any legal proceedings that, if determined adversely to the Company, in management&#x2019;s opinion, are currently expected to individually or in the aggregate have a material adverse effect on the Company&#x2019;s business, operating results or financial condition taken as a whole.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfMzY5MA_317a5ece-0ccb-443e-8fa2-6fbf720ad072">Future minimum payments under the non-cancelable operating leases consisted of the following as of October&#160;2, 2021 (in&#160;thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:75.010%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.016%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.674%"/&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:8pt;font-weight:700;line-height:100%"&gt;Period&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:8pt;font-weight:700;line-height:100%"&gt;Future Minimum Lease Payments&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 2021&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;1,005&#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;2022&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,014&#160;&lt;/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;2023&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,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;/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;3,962&#160;&lt;/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;3,453&#160;&lt;/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;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 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;Total future 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;16,766&#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 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;Less imputed interest&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,099)&lt;/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;14,667&#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:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmU4NWM1YWM4Y2I5MjQ0YTJiMWVjM2M5MDUyMmFhOTk4L3RhYmxlcmFuZ2U6ZTg1YzVhYzhjYjkyNDRhMmIxZWMzYzkwNTIyYWE5OThfMS0yLTEtMS01NDUx_d7ab41ec-9457-498c-9c7e-295eee4eb55a"
      unitRef="usd">1005000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmU4NWM1YWM4Y2I5MjQ0YTJiMWVjM2M5MDUyMmFhOTk4L3RhYmxlcmFuZ2U6ZTg1YzVhYzhjYjkyNDRhMmIxZWMzYzkwNTIyYWE5OThfMi0yLTEtMS01NDUx_49247edf-18c8-4408-9b5e-88a3d892fdbb"
      unitRef="usd">4014000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmU4NWM1YWM4Y2I5MjQ0YTJiMWVjM2M5MDUyMmFhOTk4L3RhYmxlcmFuZ2U6ZTg1YzVhYzhjYjkyNDRhMmIxZWMzYzkwNTIyYWE5OThfMy0yLTEtMS01NDUx_6ace0bf3-809a-4c58-874c-ed9d84a57b41"
      unitRef="usd">4157000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmU4NWM1YWM4Y2I5MjQ0YTJiMWVjM2M5MDUyMmFhOTk4L3RhYmxlcmFuZ2U6ZTg1YzVhYzhjYjkyNDRhMmIxZWMzYzkwNTIyYWE5OThfNC0yLTEtMS01NDUx_269210ac-a23e-4e21-a588-5c35f5ba9bf5"
      unitRef="usd">3962000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmU4NWM1YWM4Y2I5MjQ0YTJiMWVjM2M5MDUyMmFhOTk4L3RhYmxlcmFuZ2U6ZTg1YzVhYzhjYjkyNDRhMmIxZWMzYzkwNTIyYWE5OThfNS0yLTEtMS01NDUx_1b304aed-d42f-484b-a24e-08e7a7296892"
      unitRef="usd">3453000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <calx:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmU4NWM1YWM4Y2I5MjQ0YTJiMWVjM2M5MDUyMmFhOTk4L3RhYmxlcmFuZ2U6ZTg1YzVhYzhjYjkyNDRhMmIxZWMzYzkwNTIyYWE5OThfNi0yLTEtMS01NDUx_eecb5ea5-f2e6-4eab-8214-9b9ed04f4bcf"
      unitRef="usd">175000</calx:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmU4NWM1YWM4Y2I5MjQ0YTJiMWVjM2M5MDUyMmFhOTk4L3RhYmxlcmFuZ2U6ZTg1YzVhYzhjYjkyNDRhMmIxZWMzYzkwNTIyYWE5OThfNy0yLTEtMS01NDUx_71da8acf-6874-4a1c-96ed-023421d556e7"
      unitRef="usd">16766000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmU4NWM1YWM4Y2I5MjQ0YTJiMWVjM2M5MDUyMmFhOTk4L3RhYmxlcmFuZ2U6ZTg1YzVhYzhjYjkyNDRhMmIxZWMzYzkwNTIyYWE5OThfOC0yLTEtMS01NDUx_2d1dddd5-ceca-4bec-bcf4-0c864a88e3f9"
      unitRef="usd">2099000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmU4NWM1YWM4Y2I5MjQ0YTJiMWVjM2M5MDUyMmFhOTk4L3RhYmxlcmFuZ2U6ZTg1YzVhYzhjYjkyNDRhMmIxZWMzYzkwNTIyYWE5OThfOS0yLTEtMS01NDUx_572878cc-3b03-4ccc-b56f-0c278c8b7da7"
      unitRef="usd">14667000</us-gaap:OperatingLeaseLiability>
    <calx:LesseeOperatingLeaseLiabilityTableTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfMzY5MQ_84d4ac83-7bdc-4dcd-bbd3-87294358da77">&lt;div style="margin-top:1pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of October&#160;2, 2021, the operating lease liability consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.052%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:78.656%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:3.314%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.730%"/&gt;&lt;td style="width:0.1%"/&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="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;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmIzN2YyOWZkNGJiNjRjZDBiMmFhMGM1NDM4ODBiOWRhL3RhYmxlcmFuZ2U6YjM3ZjI5ZmQ0YmI2NGNkMGIyYWEwYzU0Mzg4MGI5ZGFfMS0wLTEtMS01NDUx_31b3eaa5-08ea-4bbe-a999-f87feedfed4b"&gt;Accrued liabilities - current portion of operating leases&lt;/span&gt;&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;3,151&#160;&lt;/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="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;Operating leases&lt;/span&gt;&lt;/td&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;11,516&#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: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;14,667&#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;</calx:LesseeOperatingLeaseLiabilityTableTextBlock>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmIzN2YyOWZkNGJiNjRjZDBiMmFhMGM1NDM4ODBiOWRhL3RhYmxlcmFuZ2U6YjM3ZjI5ZmQ0YmI2NGNkMGIyYWEwYzU0Mzg4MGI5ZGFfMS0yLTEtMS01NDUx_287cec7e-16ae-492a-ac9e-2662ee77843f"
      unitRef="usd">3151000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmIzN2YyOWZkNGJiNjRjZDBiMmFhMGM1NDM4ODBiOWRhL3RhYmxlcmFuZ2U6YjM3ZjI5ZmQ0YmI2NGNkMGIyYWEwYzU0Mzg4MGI5ZGFfMi0yLTEtMS01NDUx_168e74c1-6f96-4a89-b279-782ebc04456a"
      unitRef="usd">11516000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmIzN2YyOWZkNGJiNjRjZDBiMmFhMGM1NDM4ODBiOWRhL3RhYmxlcmFuZ2U6YjM3ZjI5ZmQ0YmI2NGNkMGIyYWEwYzU0Mzg4MGI5ZGFfMy0yLTEtMS01NDUx_11a73955-e67c-4db4-81f0-79a286c595aa"
      unitRef="usd">14667000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="ifb81db97359e4793b692ce6dc59142fa_I20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfNjEy_53e54b37-f4d9-46d1-b263-ea7787ef182b"
      unitRef="usd">10200000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfNzM1_79dfc00c-608e-4b65-9f33-c2b3a948dbf0"
      unitRef="number">0.065</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfNzk0_3ce3b163-4e66-4318-b664-4766bff1ba92">P4Y1M6D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseExpense
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfODc1_fc2c68fc-7fcb-481c-af99-e92ef4b07c6a"
      unitRef="usd">1000000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfODgy_c562777c-7077-415b-ae43-a75743115002"
      unitRef="usd">3100000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfOTc3_b01026c1-1bd6-49a1-8525-d585085be1a7"
      unitRef="usd">900000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfOTg0_87ad6a97-90f3-48f4-846a-f4d7c18c2544"
      unitRef="usd">3100000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeasePayments
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfMTA2NQ_4655660a-3347-4331-927c-423acce89a75"
      unitRef="usd">2900000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfMTA3Mg_99fa9048-2551-4c15-a1f0-8dd1c2c8e858"
      unitRef="usd">2500000</us-gaap:OperatingLeasePayments>
    <us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfMjI1NQ_dd09113c-9590-4db4-9350-291f935c6fc2"
      unitRef="usd">184100000</us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted>
    <calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfMTY0OTI2NzQ0NTUwNg_b4deb156-eda9-4774-883e-4016228d32cf"
      unitRef="usd">4600000</calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer>
    <calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RleHRyZWdpb246M2NmYTVkOWE5OWQyNGI5OWJkZGIyYzM3MTgxMzQwYmNfMTY0OTI2NzQ0NTUxMQ_b259ebef-3255-49f5-aad1-ccc44d7626c8"
      unitRef="usd">4000000</calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer>
    <us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNzA2MA_6ab2addf-6b71-4b39-9f21-118ba50d4067">Stockholders&#x2019; Equity &lt;div style="margin-top:6pt"&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;2019 Equity Incentive Award Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Employees and consultants of the Company, its subsidiaries and affiliates, as well as members of the Company&#x2019;s Board of Directors, are eligible to receive awards under the 2019 Equity Incentive Award Plan (&#x201c;the 2019 Plan&#x201d;). The 2019 Plan provides for the grant of stock options, including incentive stock options and nonqualified stock options, stock appreciation rights, restricted stock, restricted stock units, other stock or cash-based awards and dividend equivalents to eligible individuals. At the Company&#x2019;s 2021 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the 2019 Plan by 3.8&#160;million shares. As of October&#160;2, 2021, there were 7.0&#160;million shares available for issuance under the 2019 Plan.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&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;Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the three months ended October&#160;2, 2021, no stock option awards were granted. During the nine months ended October&#160;2, 2021, stock option awards exercisable for up to an aggregate of 0.6&#160;million shares of common stock were granted with a grant date weighted-average exercise price of $39.38 per share. These stock option awards vest 25% on the first anniversary of the vesting commencement date and on a quarterly basis thereafter over an additional three years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In February 2021, performance-based stock option awards exercisable for up to an aggregate of 0.7&#160;million shares of common stock were granted to certain Company executives with a grant date exercise price of $36.74 per share. The actual number of shares earned is contingent upon achievement of annual corporate financial targets for bookings and non-GAAP net income for 2021 (collectively, the &#x201c;2021 Performance Targets&#x201d;) during the one-year performance period. These performance-based stock option awards will vest, subject to certification by the Compensation Committee of the Company&#x2019;s Board of Directors upon the achievement of the 2021 Performance Targets, as to 25% of the shares of common stock earned on the one year anniversary of the date of grant, and as to the remaining 75% of the shares of common stock earned, in substantially equal quarterly installments over the subsequent 36 months, subject to the executive&#x2019;s continuous service with the Company through the respective vesting dates. If the non-GAAP net income target is achieved below 80% of target or the bookings target is achieved below 90% of target, no shares would be awarded, and the performance-based stock option awards would be forfeited in full. If both targets are achieved at the minimum threshold of 80% of target for non-GAAP net income and 90% of target for bookings, then the shares are awarded at 50% of the granted shares, with an increasing percentage of shares awarded above the minimum thresholds up to 100% of the granted shares if both targets are achieved at 100% or more of target. The probability of meeting the performance conditions related to these performance-based stock option awards was assessed to be probable as of&#160;October&#160;2, 2021, and stock-based compensation expense of $1.9&#160;million was recognized for the three months ended&#160;October&#160;2, 2021. For the nine months ended October&#160;2, 2021, stock-based compensation expense of $4.8&#160;million was recognized.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the&#160;three&#160;months ended&#160;October&#160;2, 2021,&#160;0.4&#160;million shares of common stock were issued pursuant to the exercise of stock options at a weighted-average exercise price of&#160;$6.98&#160;per share. During the nine months ended October&#160;2, 2021, 1.0&#160;million shares of common stock were issued pursuant to the exercise of stock options at a weighted-average exercise price of $8.20 per share. As of October&#160;2, 2021, unrecognized stock-based compensation expense of $27.6 million related to stock options, net of estimated forfeitures, is expected to be recognized over a weighted-average period of 2.2 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&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;Employee Stock Purchase Plans&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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 maintains two employee stock purchase plans - the Amended and Restated Employee Stock Purchase Plan (the &#x201c;ESPP&#x201d;) and the Amended and Restated 2017 Nonqualified Employee Stock Purchase Plan (the &#x201c;NQ ESPP&#x201d;).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The ESPP allows eligible employees to purchase shares of the Company&#x2019;s common stock through payroll deductions of up to 15% of their eligible compensation subject to certain Internal Revenue Code limitations. In addition, no participant may purchase more than 2,000 shares of common stock in each offering period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The offering periods under the ESPP are two six-month offering periods from August 15&lt;/span&gt;&lt;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"&gt;th&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; through February 14&lt;/span&gt;&lt;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"&gt;th&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; and February 15&lt;/span&gt;&lt;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"&gt;th&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; through August 14&lt;/span&gt;&lt;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"&gt;th&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; of each year. The price of common stock purchased under the ESPP is 85% of the lower of the fair market value of the common stock on the commencement date and the end date of each six-month offering period. At the &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Company&#x2019;s 2021 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the ESPP by 1.3&#160;million shares, which will go into effect for the six-month purchase period commencing August 15, 2021 and ending on February 14, 2022. The total shares authorized for issuance under the ESPP increased from 9.8&#160;million shares to 11.1&#160;million shares. As of October&#160;2, 2021, there were 3.6 million shares available for issuance under the ESPP. During the nine months ended October&#160;2, 2021, 0.3&#160;million shares were purchased under the ESPP. As of October&#160;2, 2021, unrecognized stock-based compensation expense of $1.1 million related to the ESPP is expected to be recognized over a remaining service period of 0.4 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The NQ ESPP allows eligible employees to purchase shares of the Company&#x2019;s common stock through payroll deductions of up to 25% of their eligible compensation. Eligible employees have the right to (a) purchase the maximum number of whole shares of common stock that can be purchased with the elected payroll deductions during each offering period for which the employee is enrolled at a purchase price equal to the closing price of the Company&#x2019;s common stock on the last day of such offering period and (b) receive an equal number of shares of the Company&#x2019;s common stock that are subject to a risk of forfeiture in the event the employee terminates employment within the one year period immediately following the purchase date. The NQ ESPP provides two six-month offering periods from November 15&lt;/span&gt;&lt;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"&gt;th&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; through May 14&lt;/span&gt;&lt;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"&gt;th&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; and May 15&lt;/span&gt;&lt;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"&gt;th&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; through November 14&lt;/span&gt;&lt;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"&gt;th&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; of each year. At the Company&#x2019;s 2021 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the NQ ESPP by 0.8&#160;million shares. The maximum number of shares of common stock currently authorized for issuance under the NQ ESPP is 5.5&#160;million shares, with a maximum of 0.5&#160;million shares allocated per purchase period. As of October&#160;2, 2021, there were 2.9 million shares available for issuance under the NQ ESPP, including the stockholder-approved 0.8&#160;million share increase. During the nine months ended October&#160;2, 2021, 0.2&#160;million shares were purchased and issued. As of October&#160;2, 2021, unrecognized stock-based compensation expense of $4.8 million related to the NQ ESPP is expected to be recognized over a remaining weighted-average service period of 0.9 year.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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;Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&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 summarizes stock-based compensation expense (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:11pt;text-align:center"&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:41.590%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&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:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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:8pt;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="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:8pt;font-weight:700;line-height:100%"&gt;Nine 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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;September 26,&lt;br/&gt;2020&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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;September 26,&lt;br/&gt;2020&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;Cost of revenue:&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 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;Products&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;211&#160;&lt;/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;159&#160;&lt;/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;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 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;392&#160;&lt;/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;Services&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;177&#160;&lt;/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;103&#160;&lt;/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;483&#160;&lt;/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;308&#160;&lt;/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;Sales and marketing&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,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;1,035&#160;&lt;/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,961&#160;&lt;/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,994&#160;&lt;/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;Research and development&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;1,803&#160;&lt;/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,237&#160;&lt;/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,031&#160;&lt;/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,344&#160;&lt;/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;General and administrative&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,679&#160;&lt;/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,040&#160;&lt;/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;7,021&#160;&lt;/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,762&#160;&lt;/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;6,661&#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;3,574&#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;18,055&#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;9,800&#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:ShareholdersEquityAndShareBasedPaymentsTextBlock>
    <calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares
      contextRef="iaedd2a09379f479bb16fa0ffec45f2ee_I20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNzI1_93e11abb-332c-49f0-a06a-b10567b4ca10"
      unitRef="shares">3800000</calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="iaedd2a09379f479bb16fa0ffec45f2ee_I20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNzU3_5779e2b5-17b6-4dbe-85e3-9b3a5ea7a730"
      unitRef="shares">7000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMTY0OTI2NzQ0ODk1Nw_7a1b93b3-5e9f-4d17-8b6f-2686453f79d0"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMTExMg_a66c5d2f-369b-4dbf-a472-ceb8090c633d"
      unitRef="shares">600000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMTIwNA_8e84a327-c78f-4167-baea-1b60f59f2644"
      unitRef="usdPerShare">39.38</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i04748989fcfe4111a35085ec6b796896_D20210101-20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMTI0OQ_83d4037f-92ac-413d-abc5-3735654242c4"
      unitRef="number">0.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i62b2e08a6c4f49a298e98198c23fdfa6_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMTM2NQ_b389a3d9-10ad-4fa9-ba7d-38d094f918de">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMTQ2Mw_0b69f1ef-0571-49e9-af5d-8ef47591c9fd"
      unitRef="shares">700000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMTU2OA_346b4c9f-dd9e-48a2-bbfb-f9bf528107ca"
      unitRef="usdPerShare">36.74</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1
      contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNzA2Ng_695a4183-64d1-4e2b-ab1b-1836e983c3af">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="ie120eba8bcb748a48d670dce0d75c865_D20210201-20210228"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjAyNA_7e33b8d3-4772-4dfc-b598-81b5cd171307"
      unitRef="number">0.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i837861cca2d042bb879a5eb612b704f8_D20210201-20210228"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjEzOA_21d244db-d9d8-4953-9c99-dd55df8a0b53"
      unitRef="number">0.75</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i837861cca2d042bb879a5eb612b704f8_D20210201-20210228"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjI0NQ_e183202c-6993-4409-b44e-ac6af05ec411">P36M</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent
      contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjQwOQ_44bca922-45e4-4f47-bdd0-156caed51b2e"
      unitRef="number">0.80</calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent>
    <calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent
      contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjQ2Mw_f177353d-09c9-4550-bf8e-31bc5d570949"
      unitRef="number">0.90</calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent>
    <calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet
      contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjQ3Nw_2ecc5514-2f95-46e6-b3cb-8d1a626e6013"
      unitRef="shares">0</calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet>
    <calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent
      contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjYzNg_1bf915e9-2c06-416c-9a8e-b0d4f4239750"
      unitRef="number">0.80</calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent>
    <calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent
      contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjY3Nw_6bff2177-0cae-465f-ab05-52496fd55182"
      unitRef="number">0.90</calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent>
    <calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent
      contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjczNQ_43cf1dc8-2948-4f5c-ae61-532018a3cebb"
      unitRef="number">0.50</calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent>
    <calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent
      contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjg0NA_4e78fe5c-fd71-4507-b26d-d3837f08d96e"
      unitRef="number">1</calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent>
    <calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent
      contextRef="ic4c43ca5ef4347bda87eea4f257ac71c_D20210201-20210228"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMjkwMQ_97748bfb-c6c1-42d5-b307-5c4304fe324c"
      unitRef="number">1</calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent>
    <us-gaap:ShareBasedCompensation
      contextRef="i63915c9ed57f4e8083ef090302be1894_D20210704-20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMzEyMA_4e243f83-44c0-4526-a132-3c5f5f347c83"
      unitRef="usd">1900000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i9b413c47d93249938ee2593660133a8d_D20210101-20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMzIzMw_7c29e538-2a4a-4352-95b6-d2dc66fd393d"
      unitRef="usd">4800000</us-gaap:ShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMzI4Ng_eff8b82f-895d-42a6-a25f-bd39e3d431ec"
      unitRef="shares">400000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMzQwNg_10ada187-6088-4443-87f8-205b0e4c40ae"
      unitRef="usdPerShare">6.98</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMzQ1MQ_46c035bf-fdbe-40fa-8288-b77228dded03"
      unitRef="shares">1000000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMzU3MQ_f4d0d207-7f10-41f9-8a07-2c0c05a03e88"
      unitRef="usdPerShare">8.20</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMzY0NA_57fa1ac8-86a4-4d7c-a020-bed53fcd27df"
      unitRef="usd">27600000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMzc2Ng_97c682ca-c9d3-410e-8268-112db9c31c4c">P2Y2M12D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <calx:NumberOfEmployeeStockPurchasePlans
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfMzgyOA_0883b65b-393b-4c08-90c0-21d2fa61c244"
      unitRef="plan">2</calx:NumberOfEmployeeStockPurchasePlans>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate
      contextRef="if278cd5492494030873418d6b5622c9c_I20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNDE0Mw_74758ea5-cd8c-468d-bc58-e0676311c513"
      unitRef="number">0.15</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee
      contextRef="ia76d774d956c4b278d169b4619285bed_D20210101-20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNDI4Mg_82c98cad-821a-4d63-b857-227bc7f89eee"
      unitRef="shares">2000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee>
    <calx:SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod
      contextRef="ia76d774d956c4b278d169b4619285bed_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNzA1Nw_2051f5eb-94fb-41d3-b09e-87878ef660e7">P6M</calx:SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent
      contextRef="ia76d774d956c4b278d169b4619285bed_D20210101-20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNDU0OA_76479c24-367e-4a27-8369-fcf426aa2b44"
      unitRef="number">0.85</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent>
    <calx:SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod
      contextRef="ia76d774d956c4b278d169b4619285bed_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNzA1NA_778d9c2e-cffc-4eb6-ac92-77d7585150ec">P6M</calx:SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized
      contextRef="iee7ed7956de74c89a455fe922a51e77e_D20210703-20210703"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNDg0NA_5561f423-89da-4b05-a6c5-881687e012c1"
      unitRef="shares">1300000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized>
    <calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod
      contextRef="ia76d774d956c4b278d169b4619285bed_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNzA2Nw_348f5085-4549-43a6-9f28-4a39d109a199">P6M</calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i568082441fa347cd8690cebadfb39a7f_I20210702"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNTA0NQ_37e2dfed-9738-44ea-b5ac-542909192a93"
      unitRef="shares">9800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="iddb4993f368d4549967bdcf9e55cfdfd_I20210703"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNTA1OA_a16401a0-e8b8-413b-a317-ffadb1f05e82"
      unitRef="shares">11100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="if278cd5492494030873418d6b5622c9c_I20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNTA5MA_2ec6830f-49a9-4368-8c54-ad3a7ccbd577"
      unitRef="shares">3600000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan
      contextRef="ia76d774d956c4b278d169b4619285bed_D20210101-20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNTE3MQ_6d12fc74-163a-42d1-a4a2-7cc7d7b1ee5f"
      unitRef="shares">300000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="if278cd5492494030873418d6b5622c9c_I20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNTI3MQ_64b62d92-0b9b-459b-905a-3ea75badbc4c"
      unitRef="usd">1100000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="ia76d774d956c4b278d169b4619285bed_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNTM1OA_c5fca6e3-3e9e-48f0-951d-87ff1e45eb7c">P0Y4M24D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent
      contextRef="i6b926140584b4a4685093bbd7947ed29_I20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNTQ5MQ_97d99a84-6df9-429b-8bc7-bddcf3097f3b"
      unitRef="number">0.25</calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent>
    <calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture
      contextRef="i3b2706e65f9d4a3fb1e79776d84855ff_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjAzNw_c4ddcbdb-3ba8-4a77-904f-1dc276cf22f6">P1Y</calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture>
    <calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods
      contextRef="i6b926140584b4a4685093bbd7947ed29_I20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjEwOQ_9106b7bd-b35d-4cf5-a079-893bb735ff55"
      unitRef="period">2</calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods>
    <calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod
      contextRef="i3b2706e65f9d4a3fb1e79776d84855ff_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNzA2NA_177c618e-b0c2-4f4c-ba03-ad4d1d3134e1">P6M</calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized
      contextRef="i24d43847619741dda3d74e2156da7882_D20210703-20210703"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjM4NQ_c794c456-3c3a-44cc-8c8d-35a45c2dfe97"
      unitRef="shares">800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i6b926140584b4a4685093bbd7947ed29_I20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjQ5Ng_4d42ac76-a209-4a96-bccb-0a690ffe045f"
      unitRef="shares">5500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod
      contextRef="i6b926140584b4a4685093bbd7947ed29_I20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjUyNQ_f4114aba-ff87-4b42-bf0a-a157c905ebed"
      unitRef="shares">500000</calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="i6b926140584b4a4685093bbd7947ed29_I20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjU4Nw_44168cfb-c15e-4dca-93b0-44d7d035ab62"
      unitRef="shares">2900000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized
      contextRef="i24d43847619741dda3d74e2156da7882_D20210703-20210703"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjY3NA_2253984f-214d-4032-b1a9-a20752dc1e43"
      unitRef="shares">800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan
      contextRef="i3b2706e65f9d4a3fb1e79776d84855ff_D20210101-20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjczNQ_039b97ec-bce3-48a6-99ee-1a2164b801db"
      unitRef="shares">200000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan
      contextRef="i3b2706e65f9d4a3fb1e79776d84855ff_D20210101-20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjczNQ_ba1a12d5-6562-477b-9893-46c7d4c6bea1"
      unitRef="shares">200000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
      contextRef="i6b926140584b4a4685093bbd7947ed29_I20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjgzMQ_f36c4ae9-8641-4f53-a044-aa26de95c2d9"
      unitRef="usd">4800000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i3b2706e65f9d4a3fb1e79776d84855ff_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNjkzOA_2876ea57-da09-4970-b6d2-0c50b91f7703">P0Y10M24D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RleHRyZWdpb246ODgwMGQzMDZkYTAwNDQxNGEzNDE5MDc1MmFiMGI4OGRfNzA2NQ_32ff03ec-3cf3-4ed6-b6d8-807d4e920e82">&lt;div style="margin-top:5pt"&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 summarizes stock-based compensation expense (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:11pt;text-align:center"&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:41.590%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&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:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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:8pt;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="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:8pt;font-weight:700;line-height:100%"&gt;Nine 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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;September 26,&lt;br/&gt;2020&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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;September 26,&lt;br/&gt;2020&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;Cost of revenue:&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 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;Products&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;211&#160;&lt;/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;159&#160;&lt;/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;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 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;392&#160;&lt;/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;Services&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;177&#160;&lt;/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;103&#160;&lt;/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;483&#160;&lt;/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;308&#160;&lt;/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;Sales and marketing&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,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;1,035&#160;&lt;/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,961&#160;&lt;/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,994&#160;&lt;/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;Research and development&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;1,803&#160;&lt;/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,237&#160;&lt;/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,031&#160;&lt;/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,344&#160;&lt;/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;General and administrative&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,679&#160;&lt;/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,040&#160;&lt;/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;7,021&#160;&lt;/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,762&#160;&lt;/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;6,661&#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;3,574&#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;18,055&#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;9,800&#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:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i23ce2f571e714241971993dc677f88e3_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfMy0yLTEtMS01NDUx_f2abccdb-e186-4219-ac64-3c2b13d9cd94"
      unitRef="usd">211000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i854c98d6d03d473d939ced27470817f8_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfMy00LTEtMS01NDUx_097df14d-6651-40f4-81e2-a4b027cda51e"
      unitRef="usd">159000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i9ec4341d83144a43a9c8ed72830666ae_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfMy02LTEtMS01NDUx_19ae0e67-e85b-4b4e-8d38-36fef7b55049"
      unitRef="usd">559000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0c6f53deca22451494b38b6e77f314f5_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfMy04LTEtMS01NDUx_5d7008ce-0634-4248-9ab6-e99f58c09570"
      unitRef="usd">392000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="id7c218565c464461bbf42b8c1981b59c_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNC0yLTEtMS01NDUx_ec6e73ba-15dd-43ba-b40c-191a40b2d147"
      unitRef="usd">177000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i4e0265d501074aef9cf22a481824bb52_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNC00LTEtMS01NDUx_9ad08861-69a0-432f-aeca-027eb6dbd902"
      unitRef="usd">103000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ibba56e0392df4d409a03c83589bf320b_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNC02LTEtMS01NDUx_a908e02b-780b-45a0-bbd9-cca03c4b1a8d"
      unitRef="usd">483000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i805142f006874140a2357ca2d3fadb93_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNC04LTEtMS01NDUx_2cdab413-7498-43b6-b1a5-07de86d8d50c"
      unitRef="usd">308000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i1eaa5204d4a34d59b1518bdf2044dcbc_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNS0yLTEtMS01NDUx_8ed37249-2276-4389-bf87-40ecd88f77f4"
      unitRef="usd">1791000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ie93c1d10efe2424b8d29f09e0531e02b_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNS00LTEtMS01NDUx_d4dad837-1493-424c-bcd1-4d229c7fce62"
      unitRef="usd">1035000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="idf0e5507a73a432b88ae86160155afa5_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNS02LTEtMS01NDUx_ef0d6852-26a0-43fb-b575-79210617a8a9"
      unitRef="usd">4961000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ia3dd35b65043498a84cc0596e41c2c3f_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNS04LTEtMS01NDUx_69989104-94ac-40b8-b5a1-93f68897245f"
      unitRef="usd">2994000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i9c65bf315e424aa7bd7f39d55275dcf5_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNi0yLTEtMS01NDUx_ff312e51-870a-48d5-8180-35fc70e6d7b4"
      unitRef="usd">1803000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i772c16ce880843a79a4b7a9f4965bf5f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNi00LTEtMS01NDUx_155965b5-dcde-46e8-a113-3ceebb351ee9"
      unitRef="usd">1237000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0d80a0be320d4e61a537de0fef063e31_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNi02LTEtMS01NDUx_decfc211-7f42-4065-adcc-7bdddb64488d"
      unitRef="usd">5031000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0d80a0be320d4e61a537de0fef063e31_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNi02LTEtMS01NDUx_e6a61003-066d-4d79-bb67-fba6611b0d07"
      unitRef="usd">5031000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iff5a20af7a3c462e8528a4f4d682d516_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNi04LTEtMS01NDUx_51c38172-77f4-4e42-81d5-bffd5ddf9194"
      unitRef="usd">3344000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iff5a20af7a3c462e8528a4f4d682d516_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNi04LTEtMS01NDUx_bc9f608b-d40f-4674-bd81-0ac60cb2776f"
      unitRef="usd">3344000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="if51072b2344645198283c7335025b8fa_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNy0yLTEtMS01NDUx_6c4f0e77-5969-4768-aef1-ed9e85dd1ef5"
      unitRef="usd">2679000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ia4640ca0f38f41aca5f638a6263297b1_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNy00LTEtMS01NDUx_95a3c016-6a6b-4cb5-a436-e870ff476223"
      unitRef="usd">1040000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i235a40528be84d13810530591767cd1f_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNy02LTEtMS01NDUx_d681d5e8-90b0-4a83-ac6a-bf9dfaee0be6"
      unitRef="usd">7021000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="icf9046f4e00941a280e9cf365f7814ea_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfNy04LTEtMS01NDUx_60987109-0f52-4d27-bb1a-630d93d956c1"
      unitRef="usd">2762000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfOC0yLTEtMS01NDUx_6bcabd19-c71d-4f72-ad87-803b7e393870"
      unitRef="usd">6661000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfOC00LTEtMS01NDUx_dd1183ed-4ced-42e1-ba31-b389157ee702"
      unitRef="usd">3574000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfOC02LTEtMS01NDUx_248bac8c-798b-4cf2-aca8-6e61ec1de3bf"
      unitRef="usd">18055000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81NS9mcmFnOjg4MDBkMzA2ZGEwMDQ0MTRhMzQxOTA3NTJhYjBiODhkL3RhYmxlOjU1ZWQxMjMzOTIzODQwYmRhMDFkYzJjNTI1ZDIzNjMxL3RhYmxlcmFuZ2U6NTVlZDEyMzM5MjM4NDBiZGEwMWRjMmM1MjVkMjM2MzFfOC04LTEtMS01NDUx_e3c6828c-3011-45b1-ba97-ecd6254fed25"
      unitRef="usd">9800000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMzAyNg_302b5740-e9fe-4679-bdec-d5a2ffed6006">Revenue from Contracts with Customers&lt;div style="margin-top:6pt"&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 derives revenue from contracts with customers primarily from the following and categorizes its revenue as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:31.5pt;text-indent:-9pt"&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:5.5pt"&gt;Systems include revenue from the sale of access and premises systems, software platform licenses and cloud-based software subscriptions; and&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:31.5pt;text-indent:-9pt"&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:5.5pt"&gt;Services include revenue from customer support, software- and cloud-based maintenance, extended warranty subscriptions, professional services, training and managed services.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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 is a summary of revenue disaggregated by geographic region based upon the location of the customers (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.198%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.824%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.471%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.383%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.121%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.559%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.471%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.383%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.121%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.015%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.471%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.383%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.121%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.775%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.863%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.383%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.121%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.635%"/&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="21" 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:8pt;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="21" 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:8pt;font-weight:700;line-height:100%"&gt;Nine 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="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" 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:8pt;font-weight:700;line-height:100%"&gt;October 2, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" 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:8pt;font-weight:700;line-height:100%"&gt;September 26, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" 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:8pt;font-weight:700;line-height:100%"&gt;October 2, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" 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:8pt;font-weight:700;line-height:100%"&gt;September 26, 2020&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;United States&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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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="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;136,312&#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;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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="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;129,205&#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;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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="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;414,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="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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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="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;326,063&#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;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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Americas ex U.S.&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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,800&#160;&lt;/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:0 1pt"/&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;7,032&#160;&lt;/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:0 1pt"/&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;37,660&#160;&lt;/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:0 1pt"/&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;18,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;/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;Europe&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="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,443&#160;&lt;/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:0 1pt"/&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,183&#160;&lt;/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:0 1pt"/&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;32,701&#160;&lt;/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:0 1pt"/&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;15,414&#160;&lt;/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;/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;Middle East &amp;amp; Africa&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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,905&#160;&lt;/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:0 1pt"/&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,537&#160;&lt;/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:0 1pt"/&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;16,165&#160;&lt;/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:0 1pt"/&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,171&#160;&lt;/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;/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;Asia Pacific&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="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;771&#160;&lt;/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:0 1pt"/&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;551&#160;&lt;/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:0 1pt"/&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,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="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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,596&#160;&lt;/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;/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="3" style="background-color:#ffffff;border-bottom:3pt double #000000;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;$&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;172,231&#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;border-bottom:3pt double #000000;border-top:1pt solid #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-bottom:3pt double #000000;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;$&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;150,508&#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;border-bottom:3pt double #000000;border-top:1pt solid #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-bottom:3pt double #000000;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;$&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;502,975&#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;border-bottom:3pt double #000000;border-top:1pt solid #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-bottom:3pt double #000000;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;$&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;371,213&#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;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:4pt"&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;Contract Asset&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The primary contract asset is revenue recognized on professional services contracts where the services are transferred to the customer over time, which has yet to be billed, and is classified within accounts receivable. Amounts are billed in accordance with the agreed-upon contractual terms.&#160;The balance as of December&#160;31, 2020 was $2.3 million of which $0.3 million remained in the Company&#x2019;s Condensed Consolidated Balance Sheet as of October&#160;2, 2021.&#160;The closing balance as of October&#160;2, 2021 was $1.2 million of which the Company expects to bill 55% of the balance during the remainder of 2020. The decrease in the contract asset was driven by billings for past services and a reduction in expected cash collections on ongoing projects partially offset by additional unbilled work performed during the three months ended October&#160;2, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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;Contract Liability&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred revenue consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&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.321%"/&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:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&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;Current:&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;/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;Products and services&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;19,465&#160;&lt;/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;14,651&#160;&lt;/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;Extended warranty&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,752&#160;&lt;/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,538&#160;&lt;/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 #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;24,217&#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 colspan="2" style="background-color:#ffffff;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;19,189&#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:400;line-height:100%"&gt;Long-term:&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;/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;Products and services&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,639&#160;&lt;/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,879&#160;&lt;/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;Extended warranty&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;18,929&#160;&lt;/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;18,025&#160;&lt;/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 #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;21,568&#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 colspan="2" style="background-color:#ffffff;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;19,904&#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: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;45,785&#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;39,093&#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;&lt;div style="margin-top:1pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:1pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The&#160;increase&#160;in the deferred revenue balance for the&#160;three and nine months ended&#160;October&#160;2, 2021&#160;is primarily driven by cash payments received or due in advance of satisfying the Company&#x2019;s performance obligations offset by $8.6&#160;million&#160;and $17.1&#160;million of revenue recognized that was included in the deferred revenue balance at the beginning of each period, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue allocated to remaining performance obligations represents contract revenue that has not yet been recognized, which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods. This amount was $105.0&#160;million as of October&#160;2, 2021, and the Company expects to recognize 34% of such revenue over the next 12 months and the remainder thereafter.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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;Contract Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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 capitalizes certain sales commissions related primarily to multi-year subscriptions and extended warranty support for which the expected amortization period is greater than one year. As of October&#160;2, 2021, the unamortized balance of deferred commissions was&#160;$4.0 million.&#160;For the three and nine months ended October&#160;2, 2021, the amount of amortization was&#160;$0.4 million and $0.7&#160;million, respectively. There was no impairment loss in relation to the costs capitalized.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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;Concentration of Customer Risk&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;One customer, our only greater-than-10%-of-revenue customer, represented 10% of the Company&#x2019;s total revenue for the three months ended October&#160;2, 2021. No customer accounted for more than 10% of the Company&#x2019;s total revenue for the nine months ended October&#160;2, 2021. Another customer, Lumen Technologies, Inc. (formerly CenturyLink, Inc.), our only greater-than-10%-of-revenue customer, represented 12% and 14% of total revenue for three and nine months ended September&#160;26, 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;No customer represented more than 10% of the Company&#x2019;s accounts receivable as of October&#160;2, 2021 or December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:RevenueRecognitionPolicyTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMzAyOA_b072de2a-aac9-408b-8498-43e027d91ace">&lt;div style="margin-top:6pt"&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 derives revenue from contracts with customers primarily from the following and categorizes its revenue as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:31.5pt;text-indent:-9pt"&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:5.5pt"&gt;Systems include revenue from the sale of access and premises systems, software platform licenses and cloud-based software subscriptions; and&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:31.5pt;text-indent:-9pt"&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:5.5pt"&gt;Services include revenue from customer support, software- and cloud-based maintenance, extended warranty subscriptions, professional services, training and managed services.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueRecognitionPolicyTextBlock>
    <us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMzAzMw_a8835d6b-8313-4818-8c77-7573a1217ee6">&lt;div style="margin-top:6pt"&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 is a summary of revenue disaggregated by geographic region based upon the location of the customers (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.198%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.824%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.471%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.383%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.121%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.559%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.471%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.383%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.121%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.015%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.471%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.383%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.121%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.775%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.863%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.383%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.121%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.635%"/&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="21" 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:8pt;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="21" 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:8pt;font-weight:700;line-height:100%"&gt;Nine 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="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" 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:8pt;font-weight:700;line-height:100%"&gt;October 2, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" 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:8pt;font-weight:700;line-height:100%"&gt;September 26, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" 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:8pt;font-weight:700;line-height:100%"&gt;October 2, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" 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:8pt;font-weight:700;line-height:100%"&gt;September 26, 2020&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;United States&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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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="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;136,312&#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;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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="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;129,205&#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;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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="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;414,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="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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-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="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;326,063&#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;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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Americas ex U.S.&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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,800&#160;&lt;/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:0 1pt"/&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;7,032&#160;&lt;/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:0 1pt"/&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;37,660&#160;&lt;/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:0 1pt"/&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;18,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;/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;Europe&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="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,443&#160;&lt;/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:0 1pt"/&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,183&#160;&lt;/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:0 1pt"/&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;32,701&#160;&lt;/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:0 1pt"/&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;15,414&#160;&lt;/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;/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;Middle East &amp;amp; Africa&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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,905&#160;&lt;/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:0 1pt"/&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,537&#160;&lt;/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:0 1pt"/&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;16,165&#160;&lt;/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:0 1pt"/&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,171&#160;&lt;/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;/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;Asia Pacific&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="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;771&#160;&lt;/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:0 1pt"/&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;551&#160;&lt;/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:0 1pt"/&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,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="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;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,596&#160;&lt;/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;/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="3" style="background-color:#ffffff;border-bottom:3pt double #000000;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;$&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;172,231&#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;border-bottom:3pt double #000000;border-top:1pt solid #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-bottom:3pt double #000000;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;$&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;150,508&#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;border-bottom:3pt double #000000;border-top:1pt solid #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-bottom:3pt double #000000;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;$&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;502,975&#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;border-bottom:3pt double #000000;border-top:1pt solid #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-bottom:3pt double #000000;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;$&lt;/span&gt;&lt;/td&gt;&lt;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"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;371,213&#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;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i7a14c192c5bf450ca474d4f8328b23e5_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMi0zLTEtMS01NDUx_5fd97def-1d55-43f8-8798-c4964d4fc0ef"
      unitRef="usd">136312000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ie81ab16379f9443d8ed0e4406fc75f60_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMi03LTEtMS01NDUx_0f0c0902-4a1e-4a58-8440-1ce28227d0f5"
      unitRef="usd">129205000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i5866dd40f1274b219500edb6d9786f6c_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMi0xMS0xLTEtNTQ1MQ_681769d3-dea6-4d0f-953b-32bd89dfbd7a"
      unitRef="usd">414246000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ie4327471603842a7bb37310fd67dc1d9_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMi0xNS0xLTEtNTQ1MQ_04a761c6-ce35-476b-aba3-df6fcbcae15b"
      unitRef="usd">326063000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i198b55b2686043a5978e2c543a05d85f_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMy0zLTEtMS0xNjcyOA_ee13292b-8c10-486a-9bf6-9394495abb76"
      unitRef="usd">11800000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ie95bc8c1f34c42e288724708421461fe_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMy03LTEtMS0xNjcyOA_2004259b-cbae-484d-875f-ece563c4dc68"
      unitRef="usd">7032000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i133345f892f3449db0ed646235039557_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMy0xMS0xLTEtMTY3Mjg_9d5e332d-b6f7-4d5d-bcee-603a0109817e"
      unitRef="usd">37660000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i5a1282be7fc0436d93b71459914a311a_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMy0xNS0xLTEtMTY3Mjg_bb970791-82f8-4e16-a19c-c1773236a160"
      unitRef="usd">18969000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i2d87fd78a3d04e82809ef72b8a10b1a4_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMy0zLTEtMS0xNjMwNw_ecac7879-9fe3-432a-8007-9f1cdcef4671"
      unitRef="usd">19443000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i1170681e4f694ae4bbba3362fc1d8d8c_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMy03LTEtMS0xNjMxMQ_c9d04560-c657-43ab-9027-9c635a7629c8"
      unitRef="usd">9183000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i2a2a6fe17ae248e09a7b2eaa62fd5a2d_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMy0xMS0xLTEtMTYzMTM_aba4baa1-ee9b-4e9f-a22f-5316f58885e6"
      unitRef="usd">32701000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ib23281bfa7fe4317bcbd88a790b697b8_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfMy0xNS0xLTEtMTYzMTU_67e42119-10be-4a98-a9da-54e0bf67cdc9"
      unitRef="usd">15414000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i961412cdc07a41a09e744a1d2eca7e10_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfNS0zLTEtMS0xNjMwNw_598102bd-8e90-4a42-8b7e-7d7e9e1d370f"
      unitRef="usd">3905000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="if5149a566e54487e87b55b262d0c5a5e_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfNS03LTEtMS0xNjMxMQ_df5a9350-f98f-45e5-919d-cdf4492aaf00"
      unitRef="usd">4537000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i10b6afe9eecc499db6649e41ccea1223_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfNS0xMS0xLTEtMTYzMTM_357c13ad-87ed-451f-bcd5-6bf568b22a48"
      unitRef="usd">16165000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ife74a1e870e84efe99f6b1692a620632_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfNS0xNS0xLTEtMTYzMTU_6a91bea7-8f93-46d0-82fc-2aa42e98805a"
      unitRef="usd">9171000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i97b16fb9dbc44595b6cd18f71c7a989b_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfNi0zLTEtMS0xNjMyMA_877e0c2c-2073-464f-9316-ad60d43d4a6f"
      unitRef="usd">771000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i1366de14943043b5a122c0f766d143ad_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfNi03LTEtMS0xNjMyMA_066a13d1-01da-43e3-9b7d-08504ab4c3f6"
      unitRef="usd">551000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i0bb51a318bc34955b186c02803dc9114_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfNi0xMS0xLTEtMTYzMjA_ee7833a6-8bf8-476b-8904-e04a6063d4e6"
      unitRef="usd">2203000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ie0883f68fdce446e8c70a7b9d3bbd714_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfNi0xNS0xLTEtMTYzMjA_01a15323-822a-486d-a33d-ea8343482b5b"
      unitRef="usd">1596000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfOC0zLTEtMS01NDUx_613f5e62-8593-4a80-8da9-9cd1d1d21c92"
      unitRef="usd">172231000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfOC03LTEtMS01NDUx_e8228b6a-28d2-46da-875b-1b2ec4090e27"
      unitRef="usd">150508000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfOC0xMS0xLTEtNTQ1MQ_78a3d369-fdce-451b-b295-341ea5cb6cd6"
      unitRef="usd">502975000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOmNhM2Q1YThjODQ2NTQyN2I5MDZlMzA3N2IxYmM2MjZmL3RhYmxlcmFuZ2U6Y2EzZDVhOGM4NDY1NDI3YjkwNmUzMDc3YjFiYzYyNmZfOC0xNS0xLTEtNTQ1MQ_9e00f7bf-5b1a-4489-b5c3-82948ed7adf1"
      unitRef="usd">371213000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfOTU0_c488a3be-36cf-48ff-9c36-8f51da4b44a9"
      unitRef="usd">2300000</us-gaap:ContractWithCustomerAssetNet>
    <calx:ContractwithCustomerAssetPriorPeriodNotRecognized
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfOTY2_f583a5ca-c955-498d-b3d0-c2075bfd620b"
      unitRef="usd">300000</calx:ContractwithCustomerAssetPriorPeriodNotRecognized>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMTA3NQ_47ea92c4-319c-4921-94aa-13533245104e"
      unitRef="usd">1200000</us-gaap:ContractWithCustomerAssetNet>
    <calx:ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMTExNQ_765742b4-42cd-4d33-93ce-727e3f6e449e"
      unitRef="number">0.55</calx:ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMzAzOA_e887fa30-0288-4f32-8c9c-f9d96ef797bb">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred revenue consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&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.321%"/&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:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&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;Current:&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;/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;Products and services&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;19,465&#160;&lt;/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;14,651&#160;&lt;/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;Extended warranty&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,752&#160;&lt;/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,538&#160;&lt;/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 #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;24,217&#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 colspan="2" style="background-color:#ffffff;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;19,189&#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:400;line-height:100%"&gt;Long-term:&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;/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;Products and services&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,639&#160;&lt;/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,879&#160;&lt;/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;Extended warranty&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;18,929&#160;&lt;/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;18,025&#160;&lt;/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 #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;21,568&#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 colspan="2" style="background-color:#ffffff;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;19,904&#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: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;45,785&#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;39,093&#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:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i134e3c2252c1429188730b923ce77e2a_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfMi0yLTEtMS01NDUx_766f43b0-2b23-45ed-95e3-08b3d5c9bc8c"
      unitRef="usd">19465000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i7b7c56ad57e143b9900a9bfb2dba51b5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfMi00LTEtMS01NDUx_39707367-ca8a-402f-9af7-ca89d74ebc5a"
      unitRef="usd">14651000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i45960e21adcf4d1587a8690228933975_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfMy0yLTEtMS01NDUx_d7871d9c-9ed5-4a94-97e3-49bf9ba7a426"
      unitRef="usd">4752000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="ib89076c11da740c98fe91bb2c7dee146_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfMy00LTEtMS01NDUx_b2691a55-7890-46a8-b6a5-5196a83d0837"
      unitRef="usd">4538000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfNC0yLTEtMS01NDUx_614d771e-1d82-4ee5-b6a7-190141ab2450"
      unitRef="usd">24217000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfNC00LTEtMS01NDUx_a44afe5b-347b-4547-8d89-adc4aee289b9"
      unitRef="usd">19189000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="i134e3c2252c1429188730b923ce77e2a_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfNi0yLTEtMS01NDUx_66cc3b37-ac40-4a27-a6cd-c12f4ec4d13d"
      unitRef="usd">2639000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="i7b7c56ad57e143b9900a9bfb2dba51b5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfNi00LTEtMS01NDUx_712ee5db-11a2-4405-9733-1a7d4a10ecd4"
      unitRef="usd">1879000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="i45960e21adcf4d1587a8690228933975_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfNy0yLTEtMS01NDUx_510df261-1241-4f7c-9ddd-71e140ee279f"
      unitRef="usd">18929000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="ib89076c11da740c98fe91bb2c7dee146_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfNy00LTEtMS01NDUx_13113e04-ee36-4649-966c-66f727f73adc"
      unitRef="usd">18025000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfOC0yLTEtMS01NDUx_04e602a9-618d-4cf1-8210-b421b9cce9d9"
      unitRef="usd">21568000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfOC00LTEtMS01NDUx_f2f4d2ce-db68-4704-bdfa-c4e063d948ba"
      unitRef="usd">19904000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiability
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfOS0yLTEtMS01NDUx_2070cb73-2f03-49e6-9600-f7e7470e5416"
      unitRef="usd">45785000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="ib19f5f7e13be498db0149ec44e7d5b8f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RhYmxlOjY4MDcxNjhlMDdjMTRmOWFiNzdiNWY4ODJmODZjODY1L3RhYmxlcmFuZ2U6NjgwNzE2OGUwN2MxNGY5YWI3N2I1Zjg4MmY4NmM4NjVfOS00LTEtMS01NDUx_9522b54f-40c4-43e0-84b0-93799a26116f"
      unitRef="usd">39093000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMTY3Mg_e03ed189-22d4-4853-a299-d14388dcb8db"
      unitRef="usd">8600000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMTY4MA_ad78a619-e2a4-4dfc-8fca-e2b9576cec03"
      unitRef="usd">17100000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMjA0NQ_4f766800-64bb-4327-ba9d-732f1fb7ee6f"
      unitRef="usd">105000000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="id3610bee06384aef802a6c37e5dcb5af_I20211002"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMjA5NQ_ea041061-a32c-4eb4-9a61-380dacc29d38"
      unitRef="number">0.34</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:CapitalizedContractCostGross
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMjQ0MA_a66bf78c-5580-441b-b4fe-e7b57c44bdb2"
      unitRef="usd">4000000</us-gaap:CapitalizedContractCostGross>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMjUwMw_ec4e4832-fc96-459d-83d0-3150f7bd08b0"
      unitRef="usd">400000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMjUxMA_cdbbe24d-aa89-4582-a118-2f4110c46f16"
      unitRef="usd">700000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostImpairmentLoss
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMjUzOA_650ff7de-88e1-464a-8c96-75f614924cbc"
      unitRef="usd">0</us-gaap:CapitalizedContractCostImpairmentLoss>
    <us-gaap:CapitalizedContractCostImpairmentLoss
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMjUzOA_8888b7bc-a06a-4e56-998b-a7c789972fc2"
      unitRef="usd">0</us-gaap:CapitalizedContractCostImpairmentLoss>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i4780b123b7ca49ad991b6a42ed99f6a0_D20210704-20211002"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMTY0OTI2NzQ0NTk1Mw_a3882055-f431-4856-a07b-e4f2b0f9dd02"
      unitRef="number">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i139491e76a204d21a71a06b96c379ca9_D20200628-20200926"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMjc5MA_8e9f51f9-f1f0-43e1-991a-10e72f2295b2"
      unitRef="number">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i002f48457d0a4c93a0915821290e3354_D20200101-20200926"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV81OC9mcmFnOmU5YzI0MDQ0ODhjYTQ0Y2JhNjg5ZTcxMGUxOTQzZmJiL3RleHRyZWdpb246ZTljMjQwNDQ4OGNhNDRjYmE2ODllNzEwZTE5NDNmYmJfMTY0OTI2NzQ0NTk2MA_cb886b70-019c-4a6f-b7e3-a439c1fa3922"
      unitRef="number">0.14</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RleHRyZWdpb246NjAzZDA5MTkwNTFmNDkwZjgyNDkxZDU2MDMxOTAzNWZfMjAxMw_3b3f3f59-eafa-4cd8-a9e5-4599b3f448e0">Income Taxes&lt;div style="margin-top:6pt"&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 presents income taxes and the effective tax rates for the periods indicated (in thousands, except percentages):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&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:33.987%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&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:1.408%"/&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:1.408%"/&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:1.408%"/&gt;&lt;td style="width:0.1%"/&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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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:8pt;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="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:8pt;font-weight:700;line-height:100%"&gt;Nine 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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;September 26,&lt;br/&gt;2020&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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;September 26,&lt;br/&gt;2020&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;Income taxes&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;(159,982)&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;149&#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;(159,625)&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;626&#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;Effective tax rate&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;(917.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;span style="color:#000000;font-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;0.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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.1)&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.3&#160;&lt;/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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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&#x2019;s income taxes for the nine months ended October 2, 2021 and September 26, 2020 was determined using an estimated effective tax rate adjusted for discrete items that occurred during the respective periods. The income tax benefit for the nine months ended October 2, 2021 was primarily due to the release of the valuation allowance on certain U.S. federal and state deferred tax assets and, to a lesser degree, benefits related to stock-based compensation and income taxes related to various states and profitable subsidiaries. For the nine months ended September 26, 2020, the tax expense was primarily related to the foreign tax provision.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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 net deferred tax assets that have arisen primarily as a result of temporary differences, net operating loss carryforwards and tax credits. The Company&#x2019;s ability to realize a deferred tax asset is based on its ability to generate sufficient future taxable income within the applicable carryforward period and subject to any applicable limitations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A valuation allowance is required when, based upon an assessment of various factors, including recent operating loss history, anticipated future earnings, and prudent and reasonable tax planning strategies, it is more likely than not that some portion of the deferred tax assets will not be realized. At each reporting period, the Company assesses the estimated future realizability of the gross carrying value of its deferred tax assets. The Company&#x2019;s periodic assessments take into consideration both positive evidence (future profitability projections for example and recent financial performance) and negative evidence (historical financial performance for example) as it relates to evaluating the future recoverability of its deferred tax assets. During the third quarter of 2021, the Company recognized an income tax benefit of $162.0&#160;million offset by current income taxes, based on management&#x2019;s reassessment of the amount of its U.S. federal and other state deferred tax assets that are more likely than not to be realized, primarily as a result of actual and projected increases in U.S. profitability in the current and future periods. In performing its analysis, the Company used the most updated plans and estimates that it currently uses to manage the underlying business and calculated the ability to utilize its deferred tax assets. The Company continues to maintain a valuation allowance of $28.7&#160;million on certain U.S. federal and state deferred tax assets that the Company believes are not more likely than not to be realized in future periods.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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 considers scheduled reversals of deferred tax liabilities, projected future taxable income, ongoing tax planning strategies and other matters, including the period over which its deferred tax assets will be recoverable, in assessing the need for and the amount of the valuation allowance. In the event that actual results differ from these estimates, or if the Company decides to adjust these estimates in the future periods, further adjustments to its valuation allowance may be recorded, which could materially impact the Company&#x2019;s financial position and net income in the period of the adjustment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of September 26, 2020, the total expense was primarily related to foreign activity. In 2020, based on a review of the positive and negative evidence, management concluded that the deferred tax assets were not more likely to be realized which resulted in an immaterial domestic provision as the deferred tax assets were fully offset with the valuation allowance.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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&#x2019;s income taxes may be subject to fluctuation during the year and in future years as new information is obtained, which may affect the assumptions used to estimate the annual effective tax rate including factors as actual results differing from its estimates of pre-tax earnings in the various jurisdictions in which the Company operates, which could impact the recognition of its deferred tax assets, the recognition or de-recognition of tax benefits related to uncertain tax positions and changes in or the interpretation of tax laws in jurisdictions where the Company conducts business.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RleHRyZWdpb246NjAzZDA5MTkwNTFmNDkwZjgyNDkxZDU2MDMxOTAzNWZfMjAxNQ_a91ce4f9-833d-481a-95c8-63532821ed1e">&lt;div style="margin-top:6pt"&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 presents income taxes and the effective tax rates for the periods indicated (in thousands, except percentages):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&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:33.987%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&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:1.408%"/&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:1.408%"/&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:1.408%"/&gt;&lt;td style="width:0.1%"/&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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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:8pt;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="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:8pt;font-weight:700;line-height:100%"&gt;Nine 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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;September 26,&lt;br/&gt;2020&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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;September 26,&lt;br/&gt;2020&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;Income taxes&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;(159,982)&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;149&#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;(159,625)&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;626&#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;Effective tax rate&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;(917.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;span style="color:#000000;font-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;0.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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.1)&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.3&#160;&lt;/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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RhYmxlOjNjMjU2OWNkODU5ODRlM2I5N2I4NmRiZjczZmUyNGJhL3RhYmxlcmFuZ2U6M2MyNTY5Y2Q4NTk4NGUzYjk3Yjg2ZGJmNzNmZTI0YmFfMi0yLTEtMS01NDUx_eefc8b3a-0e05-4770-a75f-8c66a1715038"
      unitRef="usd">-159982000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RhYmxlOjNjMjU2OWNkODU5ODRlM2I5N2I4NmRiZjczZmUyNGJhL3RhYmxlcmFuZ2U6M2MyNTY5Y2Q4NTk4NGUzYjk3Yjg2ZGJmNzNmZTI0YmFfMi00LTEtMS01NDUx_d020b24f-85bb-4c4f-b32b-a2a8f7624979"
      unitRef="usd">149000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RhYmxlOjNjMjU2OWNkODU5ODRlM2I5N2I4NmRiZjczZmUyNGJhL3RhYmxlcmFuZ2U6M2MyNTY5Y2Q4NTk4NGUzYjk3Yjg2ZGJmNzNmZTI0YmFfMi02LTEtMS01NDUx_d54af962-c546-403d-803c-47c4fa45f292"
      unitRef="usd">-159625000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RhYmxlOjNjMjU2OWNkODU5ODRlM2I5N2I4NmRiZjczZmUyNGJhL3RhYmxlcmFuZ2U6M2MyNTY5Y2Q4NTk4NGUzYjk3Yjg2ZGJmNzNmZTI0YmFfMi04LTEtMS01NDUx_2077c48d-ccf9-4956-8029-ef1b46a78d7d"
      unitRef="usd">626000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RhYmxlOjNjMjU2OWNkODU5ODRlM2I5N2I4NmRiZjczZmUyNGJhL3RhYmxlcmFuZ2U6M2MyNTY5Y2Q4NTk4NGUzYjk3Yjg2ZGJmNzNmZTI0YmFfMy0yLTEtMS01NDUx_511d22dd-ef53-4099-ae04-107fbf65495f"
      unitRef="number">-9.172</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RhYmxlOjNjMjU2OWNkODU5ODRlM2I5N2I4NmRiZjczZmUyNGJhL3RhYmxlcmFuZ2U6M2MyNTY5Y2Q4NTk4NGUzYjk3Yjg2ZGJmNzNmZTI0YmFfMy00LTEtMS01NDUx_dab22bce-d18c-42bf-b7a1-a00f7310a479"
      unitRef="number">0.007</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RhYmxlOjNjMjU2OWNkODU5ODRlM2I5N2I4NmRiZjczZmUyNGJhL3RhYmxlcmFuZ2U6M2MyNTY5Y2Q4NTk4NGUzYjk3Yjg2ZGJmNzNmZTI0YmFfMy02LTEtMS01NDUx_86408322-d417-4c72-95be-1a28c9e8b2cc"
      unitRef="number">-2.711</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RhYmxlOjNjMjU2OWNkODU5ODRlM2I5N2I4NmRiZjczZmUyNGJhL3RhYmxlcmFuZ2U6M2MyNTY5Y2Q4NTk4NGUzYjk3Yjg2ZGJmNzNmZTI0YmFfMy04LTEtMS01NDUx_95b20c17-c358-4576-b487-9d679ac3d104"
      unitRef="number">0.063</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RleHRyZWdpb246NjAzZDA5MTkwNTFmNDkwZjgyNDkxZDU2MDMxOTAzNWZfMTY0OTI2NzQ1NDc0Mw_3b25055d-f756-4a6e-b2f6-84101764d81f"
      unitRef="usd">-162000000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="ib4194844b22648f788a74d13c0226609_I20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82NC9mcmFnOjYwM2QwOTE5MDUxZjQ5MGY4MjQ5MWQ1NjAzMTkwMzVmL3RleHRyZWdpb246NjAzZDA5MTkwNTFmNDkwZjgyNDkxZDU2MDMxOTAzNWZfMTY0OTI2NzQ1NDc1OQ_5faf79f6-57fa-4428-ba00-6ae9b3911c9e"
      unitRef="usd">28700000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RleHRyZWdpb246MmE1YWRjY2NhYzY5NGI5Nzg4YjQzYjZmZjdjNjU1Y2ZfNjgy_884cbacf-daf0-4c4c-8ff6-5a761c6961c0">Net Income Per Common Share&lt;div style="margin-top:6pt"&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 sets forth the computation of basic and diluted net income per common share for the periods indicated (in thousands, except per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&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:41.005%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.911%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.911%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.911%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.916%"/&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:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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:8pt;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="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:8pt;font-weight:700;line-height:100%"&gt;Nine 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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;September 26,&lt;br/&gt;2020&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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;September 26,&lt;br/&gt;2020&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;Numerator:&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 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;Net income&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;177,424&#160;&lt;/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;20,538&#160;&lt;/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;218,497&#160;&lt;/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;9,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;/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;Denominator:&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 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;Weighted-average common shares outstanding used to compute basic net income per share&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;63,588&#160;&lt;/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;60,307&#160;&lt;/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;63,057&#160;&lt;/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;58,053&#160;&lt;/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;Effect of dilutive common stock equivalents&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,319&#160;&lt;/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,142&#160;&lt;/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,480&#160;&lt;/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,278&#160;&lt;/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;Weighted-average common shares outstanding used to compute diluted net income per share&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;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;67,907&#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 colspan="2" style="background-color:#ffffff;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;63,449&#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 colspan="2" style="background-color:#ffffff;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;67,537&#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 colspan="2" style="background-color:#ffffff;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;60,331&#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:400;line-height:100%"&gt;Net income per common share:&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 #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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Basic net income per common share&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;2.79&#160;&lt;/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;0.34&#160;&lt;/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;3.47&#160;&lt;/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;0.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:400;line-height:100%"&gt;Diluted net income per common share&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;2.61&#160;&lt;/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;0.32&#160;&lt;/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;3.24&#160;&lt;/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;0.16&#160;&lt;/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;Potentially dilutive shares, weighted average&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,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;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;169&#160;&lt;/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;908&#160;&lt;/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;579&#160;&lt;/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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Potentially dilutive shares have been excluded from the computation of diluted net income per common share when their effect is antidilutive. These antidilutive shares were from stock options.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RleHRyZWdpb246MmE1YWRjY2NhYzY5NGI5Nzg4YjQzYjZmZjdjNjU1Y2ZfNjY3_d4dd544e-954f-4d46-b3eb-ca17d8947301">&lt;div style="margin-top:6pt"&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 sets forth the computation of basic and diluted net income per common share for the periods indicated (in thousands, except per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&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:41.005%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.911%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.911%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.911%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.916%"/&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:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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:8pt;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="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:8pt;font-weight:700;line-height:100%"&gt;Nine 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="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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;September 26,&lt;br/&gt;2020&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:8pt;font-weight:700;line-height:100%"&gt;October 2,&lt;br/&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;September 26,&lt;br/&gt;2020&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;Numerator:&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 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;Net income&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;177,424&#160;&lt;/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;20,538&#160;&lt;/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;218,497&#160;&lt;/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;9,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;/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;Denominator:&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 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;Weighted-average common shares outstanding used to compute basic net income per share&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;63,588&#160;&lt;/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;60,307&#160;&lt;/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;63,057&#160;&lt;/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;58,053&#160;&lt;/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;Effect of dilutive common stock equivalents&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,319&#160;&lt;/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,142&#160;&lt;/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,480&#160;&lt;/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,278&#160;&lt;/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;Weighted-average common shares outstanding used to compute diluted net income per share&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;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;67,907&#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 colspan="2" style="background-color:#ffffff;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;63,449&#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 colspan="2" style="background-color:#ffffff;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;67,537&#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 colspan="2" style="background-color:#ffffff;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;60,331&#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:400;line-height:100%"&gt;Net income per common share:&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 #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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Basic net income per common share&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;2.79&#160;&lt;/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;0.34&#160;&lt;/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;3.47&#160;&lt;/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;0.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:400;line-height:100%"&gt;Diluted net income per common share&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;2.61&#160;&lt;/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;0.32&#160;&lt;/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;3.24&#160;&lt;/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;0.16&#160;&lt;/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;Potentially dilutive shares, weighted average&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,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;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;169&#160;&lt;/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;908&#160;&lt;/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;579&#160;&lt;/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;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:ProfitLoss
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMy0yLTEtMS01NDUx_97124708-bf70-4eba-a710-4b8efa98f7ad"
      unitRef="usd">177424000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMy00LTEtMS01NDUx_db29d3f7-7bce-4750-a7fe-a9c7e0a7265a"
      unitRef="usd">20538000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMy02LTEtMS01NDUx_17b53d35-dd95-4a4b-a990-df2c320f3e6a"
      unitRef="usd">218497000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMy02LTEtMS01NDUx_672cd548-32ae-4223-80e0-5c5ee8b49cdd"
      unitRef="usd">218497000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMy04LTEtMS01NDUx_9093ae9e-f786-434c-be31-121c3bba3c45"
      unitRef="usd">9382000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMy04LTEtMS01NDUx_fb354542-deda-4884-8856-801e625357b2"
      unitRef="usd">9382000</us-gaap:ProfitLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNS0yLTEtMS01NDUx_b71d34cf-0544-41a8-b977-6768fb69d959"
      unitRef="shares">63588000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNS00LTEtMS01NDUx_166438bc-d1a7-4736-a2b6-f24cb292f142"
      unitRef="shares">60307000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNS02LTEtMS01NDUx_1ca50b44-c676-4986-afd6-c5c431a509ee"
      unitRef="shares">63057000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNS04LTEtMS01NDUx_f2334189-0f9c-45ef-a508-30ca34f6ec52"
      unitRef="shares">58053000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNi0yLTEtMS01NDUx_f1be9cd2-0308-4961-a114-6084db9370da"
      unitRef="shares">4319000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNi00LTEtMS01NDUx_e3f1b398-f73a-4917-b0cb-e5ac01f377ef"
      unitRef="shares">3142000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNi02LTEtMS01NDUx_853ddbe8-d8d5-43e9-98ee-341c8c6d21cf"
      unitRef="shares">4480000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNi04LTEtMS01NDUx_b63c6454-635f-4f13-a34d-53b00143b7ac"
      unitRef="shares">2278000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNy0yLTEtMS01NDUx_222b5804-1b71-4ac0-8701-9aeb4eb0973a"
      unitRef="shares">67907000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNy00LTEtMS01NDUx_1fa9470e-edaf-40b8-be90-b13c4f39279c"
      unitRef="shares">63449000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNy02LTEtMS01NDUx_9e7f0cdc-8390-414f-a87d-120816122a5a"
      unitRef="shares">67537000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfNy04LTEtMS01NDUx_604d67ef-1040-4ef9-9f17-e365cea9f743"
      unitRef="shares">60331000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfOS0yLTEtMS01NDUx_78520ae8-f227-4be9-ba7a-828d2c9dfbbe"
      unitRef="usdPerShare">2.79</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfOS00LTEtMS01NDUx_cb160741-a772-465d-9d55-3d5afdb98d54"
      unitRef="usdPerShare">0.34</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfOS02LTEtMS01NDUx_83ed5355-e3ef-4061-8729-0f825a168b6a"
      unitRef="usdPerShare">3.47</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfOS04LTEtMS01NDUx_5f13499c-4041-4503-a8b5-fe11fff96fec"
      unitRef="usdPerShare">0.16</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMTAtMi0xLTEtNTQ1MQ_36a9e131-75e3-4c30-bb8e-cea92a105d9b"
      unitRef="usdPerShare">2.61</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMTAtNC0xLTEtNTQ1MQ_96b6e8ca-ebab-4a9e-9fff-97784b0ed468"
      unitRef="usdPerShare">0.32</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMTAtNi0xLTEtNTQ1MQ_13ec1e6a-8ea1-48e9-b6de-6c37dc298f17"
      unitRef="usdPerShare">3.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMTAtOC0xLTEtNTQ1MQ_7f1444e6-1611-4d85-b8e1-a90a78f69899"
      unitRef="usdPerShare">0.16</us-gaap:EarningsPerShareDiluted>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMTEtMi0xLTEtNTQ1MQ_4b622b16-d70d-4a32-98ec-0f8ba93e5ac6"
      unitRef="shares">1224000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i172735bd5dd645a8a4823e9936a7997f_D20200628-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMTEtNC0xLTEtNTQ1MQ_33c851bd-c4bc-42df-b269-83c7f4f9eac1"
      unitRef="shares">169000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i1334c3695cd7415bb1af6f747302d319_D20210101-20211002"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMTEtNi0xLTEtNTQ1MQ_768f0d06-e5da-4b60-bfce-aa5497feeae1"
      unitRef="shares">908000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i64accf2656b841f9a0efb7b8ce46392d_D20200101-20200926"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV82Ny9mcmFnOjJhNWFkY2NjYWM2OTRiOTc4OGI0M2I2ZmY3YzY1NWNmL3RhYmxlOmE5NzIzMTk5YWZkMjQyMjg5ZWNhY2M5N2E1MTY3ZTIzL3RhYmxlcmFuZ2U6YTk3MjMxOTlhZmQyNDIyODllY2FjYzk3YTUxNjdlMjNfMTEtOC0xLTEtNTQ1MQ_187616ef-9757-4758-92aa-cc7e2f1f3b64"
      unitRef="shares">579000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV83Ni9mcmFnOmUxNDgyNmQwMDhkODRkN2I5YTAzZjEzZTljMzBlNmViL3RleHRyZWdpb246ZTE0ODI2ZDAwOGQ4NGQ3YjlhMDNmMTNlOWMzMGU2ZWJfMTA5OTUxMTYyOTUwMg_3b25055d-f756-4a6e-b2f6-84101764d81f"
      unitRef="usd">-162000000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125833163656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - shares<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Oct. 18, 2021</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_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="top.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="top.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="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Oct.  02,  2021<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_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="top.Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-34674<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">Calix, 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="top.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="top.Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">68-0438710<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">2777 Orchard Parkway<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">San Jose<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_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="top.Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">95134<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">408<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">514-3000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, par value $0.025 per share<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">CALX<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NYSE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_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="top.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="top.Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">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="top.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="top.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="top.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="top.Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">63,756,160<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2021<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001406666<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name 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="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate '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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125830711944">
<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>Oct. 02, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 60,215<span></span>
</td>
<td class="nump">$ 80,807<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">128,492<span></span>
</td>
<td class="nump">52,982<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">91,929<span></span>
</td>
<td class="nump">69,419<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventory</a></td>
<td class="nump">75,166<span></span>
</td>
<td class="nump">52,268<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">18,957<span></span>
</td>
<td class="nump">11,414<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">374,759<span></span>
</td>
<td class="nump">266,890<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">20,960<span></span>
</td>
<td class="nump">20,381<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Right-of-use operating leases</a></td>
<td class="nump">10,841<span></span>
</td>
<td class="nump">11,741<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets</a></td>
<td class="nump">161,968<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="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">116,175<span></span>
</td>
<td class="nump">116,175<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">11,014<span></span>
</td>
<td class="nump">12,165<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">695,717<span></span>
</td>
<td class="nump">427,352<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">31,340<span></span>
</td>
<td class="nump">13,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="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">61,444<span></span>
</td>
<td class="nump">68,736<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue</a></td>
<td class="nump">24,217<span></span>
</td>
<td class="nump">19,189<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">117,001<span></span>
</td>
<td class="nump">101,040<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityNoncurrent', window );">Long-term portion of deferred revenue</a></td>
<td class="nump">21,568<span></span>
</td>
<td class="nump">19,904<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating leases</a></td>
<td class="nump">11,516<span></span>
</td>
<td class="nump">12,946<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other long-term liabilities</a></td>
<td class="nump">10,006<span></span>
</td>
<td class="nump">13,137<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">160,091<span></span>
</td>
<td class="nump">147,027<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (See Note 7)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, $0.025 par value; 5,000 shares authorized; no shares issued and outstanding as of October 2, 2021 and December 31, 2020</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="top.Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $0.025 par value; 100,000 shares authorized; 63,732 shares issued and outstanding as of October 2, 2021, and 62,122 shares issued and outstanding as of December 31, 2020</a></td>
<td class="nump">1,594<span></span>
</td>
<td class="nump">1,553<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">984,833<span></span>
</td>
<td class="nump">948,055<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(206)<span></span>
</td>
<td class="num">(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="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated deficit</a></td>
<td class="num">(450,595)<span></span>
</td>
<td class="num">(669,092)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders&#8217; equity</a></td>
<td class="nump">535,626<span></span>
</td>
<td class="nump">280,325<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders&#8217; equity</a></td>
<td class="nump">$ 695,717<span></span>
</td>
<td class="nump">$ 427,352<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_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121593590&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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: 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 (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br><br>Reference 4: 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 http://asc.fasb.org/extlink&amp;oid=121593590&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://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 http://asc.fasb.org/extlink&amp;oid=121641772&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 http://asc.fasb.org/extlink&amp;oid=120400017&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 http://asc.fasb.org/extlink&amp;oid=121641772&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 http://asc.fasb.org/extlink&amp;oid=121370832&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 http://asc.fasb.org/extlink&amp;oid=121370832&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 http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: 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 http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<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 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 4: 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 http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<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 (a)<br> -URI http://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 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&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 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 8: 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 http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 9: 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 http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<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 30<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6801-107765<br><br>Reference 2: 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 http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 3: 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 http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 4: 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 http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<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 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<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.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount 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="top.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 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(6))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121558606&amp;loc=SL82898722-210454<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121553693&amp;loc=d3e26610-111562<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -URI http://asc.fasb.org/extlink&amp;oid=121645371&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&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 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<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.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="top.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.25)<br> -URI http://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 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.(a),19)<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<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.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&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 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14326-108349<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=121556615&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 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121556615&amp;loc=SL49130532-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 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121556615&amp;loc=SL49130532-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 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121556615&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 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=120406818&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 http://asc.fasb.org/extlink&amp;oid=120406818&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&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 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120320667&amp;loc=SL49117168-202975<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 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<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(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 2: 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 http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 3: 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 http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<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.19-26)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<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 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<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 http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 8: 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 http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<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(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&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)(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: 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 http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<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(32))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: 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 http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<br><br>Reference 2: 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 http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 3: 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 http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<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(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<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.21)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: 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 http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.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.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.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.24)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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(7))<br> -URI http://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 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<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(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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(14))<br> -URI http://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> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<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)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<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 65<br> -Paragraph 15<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<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 http://asc.fasb.org/extlink&amp;oid=120400017&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 http://asc.fasb.org/extlink&amp;oid=121370832&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 http://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 http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: 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 http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<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(31))<br> -URI http://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 http://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(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: 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 http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>16
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125834026856">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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="top.Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.025<span></span>
</td>
<td class="nump">$ 0.025<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized (in shares)</a></td>
<td class="nump">5,000,000<span></span>
</td>
<td class="nump">5,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="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued (in shares)</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="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding (in shares)</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="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.025<span></span>
</td>
<td class="nump">$ 0.025<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</a></td>
<td class="nump">100,000,000<span></span>
</td>
<td class="nump">100,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="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued (in shares)</a></td>
<td class="nump">63,732,000<span></span>
</td>
<td class="nump">62,122,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="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding (in shares)</a></td>
<td class="nump">63,732,000<span></span>
</td>
<td class="nump">62,122,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>num: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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=109259400&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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-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_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-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_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>17
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125833864504">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Sep. 26, 2020</div></th>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Sep. 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="top.Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenue:</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 172,231<span></span>
</td>
<td class="nump">$ 150,508<span></span>
</td>
<td class="nump">$ 502,975<span></span>
</td>
<td class="nump">$ 371,213<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfRevenueAbstract', window );"><strong>Cost of revenue:</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="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenue</a></td>
<td class="nump">82,738<span></span>
</td>
<td class="nump">74,533<span></span>
</td>
<td class="nump">237,621<span></span>
</td>
<td class="nump">193,209<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">89,493<span></span>
</td>
<td class="nump">75,975<span></span>
</td>
<td class="nump">265,354<span></span>
</td>
<td class="nump">178,004<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expenses:</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="top.Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="nump">31,144<span></span>
</td>
<td class="nump">23,079<span></span>
</td>
<td class="nump">88,905<span></span>
</td>
<td class="nump">65,046<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">25,727<span></span>
</td>
<td class="nump">20,378<span></span>
</td>
<td class="nump">75,807<span></span>
</td>
<td class="nump">61,970<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">14,631<span></span>
</td>
<td class="nump">10,768<span></span>
</td>
<td class="nump">41,320<span></span>
</td>
<td class="nump">32,630<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">6,286<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="nump">71,502<span></span>
</td>
<td class="nump">54,225<span></span>
</td>
<td class="nump">206,032<span></span>
</td>
<td class="nump">165,932<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">17,991<span></span>
</td>
<td class="nump">21,750<span></span>
</td>
<td class="nump">59,322<span></span>
</td>
<td class="nump">12,072<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpenseAbstract', window );"><strong>Interest and other expense, net:</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="top.Show.showAR( this, 'defref_us-gaap_InterestIncomeExpenseNonoperatingNet', window );">Interest expense, net</a></td>
<td class="num">(86)<span></span>
</td>
<td class="num">(356)<span></span>
</td>
<td class="num">(330)<span></span>
</td>
<td class="num">(1,263)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other expense, net</a></td>
<td class="num">(463)<span></span>
</td>
<td class="num">(707)<span></span>
</td>
<td class="num">(120)<span></span>
</td>
<td class="num">(801)<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="top.Show.showAR( this, 'defref_calx_InterestAndOtherIncomeExpenseNonoperating', window );">Total interest and other expense, net</a></td>
<td class="num">(549)<span></span>
</td>
<td class="num">(1,063)<span></span>
</td>
<td class="num">(450)<span></span>
</td>
<td class="num">(2,064)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">17,442<span></span>
</td>
<td class="nump">20,687<span></span>
</td>
<td class="nump">58,872<span></span>
</td>
<td class="nump">10,008<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income taxes</a></td>
<td class="num">(159,982)<span></span>
</td>
<td class="nump">149<span></span>
</td>
<td class="num">(159,625)<span></span>
</td>
<td class="nump">626<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 177,424<span></span>
</td>
<td class="nump">$ 20,538<span></span>
</td>
<td class="nump">$ 218,497<span></span>
</td>
<td class="nump">$ 9,382<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Net income per common share:</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="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="nump">$ 2.79<span></span>
</td>
<td class="nump">$ 0.34<span></span>
</td>
<td class="nump">$ 3.47<span></span>
</td>
<td class="nump">$ 0.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="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="nump">$ 2.61<span></span>
</td>
<td class="nump">$ 0.32<span></span>
</td>
<td class="nump">$ 3.24<span></span>
</td>
<td class="nump">$ 0.16<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract', window );"><strong>Weighted-average number of shares used to compute net income (loss) per common share</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="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">63,588<span></span>
</td>
<td class="nump">60,307<span></span>
</td>
<td class="nump">63,057<span></span>
</td>
<td class="nump">58,053<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="nump">67,907<span></span>
</td>
<td class="nump">63,449<span></span>
</td>
<td class="nump">67,537<span></span>
</td>
<td class="nump">60,331<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract', window );"><strong>Net income</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss), net of tax - foreign currency translation adjustment, net</a></td>
<td class="num">$ (24)<span></span>
</td>
<td class="nump">$ 410<span></span>
</td>
<td class="num">$ (15)<span></span>
</td>
<td class="nump">$ 161<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive income</a></td>
<td class="nump">177,400<span></span>
</td>
<td class="nump">20,948<span></span>
</td>
<td class="nump">218,482<span></span>
</td>
<td class="nump">9,543<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=calx_SystemsProductMember', 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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenue:</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">163,076<span></span>
</td>
<td class="nump">142,294<span></span>
</td>
<td class="nump">475,931<span></span>
</td>
<td class="nump">347,644<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfRevenueAbstract', window );"><strong>Cost of revenue:</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="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenue</a></td>
<td class="nump">76,339<span></span>
</td>
<td class="nump">68,889<span></span>
</td>
<td class="nump">218,675<span></span>
</td>
<td class="nump">176,318<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_TechnologyServiceMember', window );">Services</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="top.Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenue:</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">9,155<span></span>
</td>
<td class="nump">8,214<span></span>
</td>
<td class="nump">27,044<span></span>
</td>
<td class="nump">23,569<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfRevenueAbstract', window );"><strong>Cost of revenue:</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="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenue</a></td>
<td class="nump">$ 6,399<span></span>
</td>
<td class="nump">$ 5,644<span></span>
</td>
<td class="nump">$ 18,946<span></span>
</td>
<td class="nump">$ 16,891<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_calx_InterestAndOtherIncomeExpenseNonoperating">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Interest And Other Income (Expense), Nonoperating</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_InterestAndOtherIncomeExpenseNonoperating</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://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 http://asc.fasb.org/extlink&amp;oid=120395209&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 http://asc.fasb.org/extlink&amp;oid=121641772&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 http://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 http://asc.fasb.org/extlink&amp;oid=121641772&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 http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The 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="top.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 http://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 http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_CostOfRevenueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfRevenueAbstract</td>
</tr>
<tr>
<td style="padding-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_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The 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="top.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 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<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 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-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 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1448-109256<br><br>Reference 4: 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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<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 (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&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 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1337-109256<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=120380238&amp;loc=d3e4984-109258<br><br>Reference 8: 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 http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 9: 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 http://asc.fasb.org/extlink&amp;oid=120380238&amp;loc=d3e3842-109258<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 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22644-107794<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 http://asc.fasb.org/extlink&amp;oid=6371337&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 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<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 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1252-109256<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 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 15: 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 http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>num: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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The 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="top.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 http://asc.fasb.org/extlink&amp;oid=120380238&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 http://asc.fasb.org/extlink&amp;oid=109234566&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 http://asc.fasb.org/extlink&amp;oid=120380238&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 http://asc.fasb.org/extlink&amp;oid=121326447&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 http://asc.fasb.org/extlink&amp;oid=109234566&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 http://asc.fasb.org/extlink&amp;oid=109234566&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 http://asc.fasb.org/extlink&amp;oid=109234566&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 http://asc.fasb.org/extlink&amp;oid=121326447&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 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 10: 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 http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 11: 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 http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<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 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-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 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1337-109256<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 http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://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 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-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 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-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(g)(1)(ii))<br> -URI http://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 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 6: 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 http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<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 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<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.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<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 (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://asc.fasb.org/extlink&amp;oid=68072869&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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://asc.fasb.org/extlink&amp;oid=120395209&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 http://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 http://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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=116825942&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 http://asc.fasb.org/extlink&amp;oid=84230637&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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://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 http://asc.fasb.org/extlink&amp;oid=109234566&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 http://asc.fasb.org/extlink&amp;oid=120385591&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 http://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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_InterestIncomeExpenseNonoperatingNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net amount of nonoperating interest income (expense).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeExpenseNonoperatingNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-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_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of other comprehensive income (loss) attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669625-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: 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 20<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569643-111683<br><br>Reference 4: 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 http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br><br>Reference 5: 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 19<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569616-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<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 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br><br>Reference 3: 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 http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 4: 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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<br><br>Reference 5: 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 http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 6: 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 1A<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 8: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br><br>Reference 9: 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 http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669625-108580<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 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22663-107794<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 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-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 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 13: 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 1A<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 14: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI http://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 15: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 16: 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 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3000-108585<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 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569616-111683<br><br>Reference 18: 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 http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<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 (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI http://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 21: 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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The 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="top.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 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 2: 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 http://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_RestructuringCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://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> -Subparagraph (b)<br> -URI http://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 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 4: 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))<br> -URI http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, including 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="top.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 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9038-108599<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 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130545-203045<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 (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&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 (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&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 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-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 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-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 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&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 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130543-203045<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 http://asc.fasb.org/extlink&amp;oid=120311839&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 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9031-108599<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 http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RevenuesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuesAbstract</td>
</tr>
<tr>
<td style="padding-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_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The 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="top.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 http://asc.fasb.org/extlink&amp;oid=6371337&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 http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=6371337&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 http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract</td>
</tr>
<tr>
<td style="padding-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_srt_ProductOrServiceAxis=calx_SystemsProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=calx_SystemsProductMember</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=us-gaap_TechnologyServiceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_TechnologyServiceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125837216552">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)<br> shares in Thousands, $ 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 Loss</div></th>
<th class="th"><div>Accumulated Deficit</div></th>
<th class="th"><div>Treasury Stock</div></th>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Beginning Balance, shares at Dec. 31, 2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">56,448<span></span>
</td>
<td class="text">&#160;<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="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at beginning of period at Dec. 31, 2019</a></td>
<td class="nump">$ 154,028<span></span>
</td>
<td class="nump">$ 1,545<span></span>
</td>
<td class="nump">$ 895,899<span></span>
</td>
<td class="num">$ (854)<span></span>
</td>
<td class="num">$ (702,576)<span></span>
</td>
<td class="num">$ (39,986)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">9,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,800<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Issuance of common stock under equity incentive plans, net of forfeitures (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,102<span></span>
</td>
<td class="text">&#160;<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Issuance of common stock under equity incentive plans, net of forfeitures</a></td>
<td class="nump">14,097<span></span>
</td>
<td class="nump">$ 51<span></span>
</td>
<td class="nump">14,046<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Issuance of common stock in connection with public offering (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,220<span></span>
</td>
<td class="text">&#160;<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of common stock in connection with public offering</a></td>
<td class="nump">60,063<span></span>
</td>
<td class="nump">$ 82<span></span>
</td>
<td class="nump">59,981<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="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue', window );">Treasury stock retirement</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">$ (134)<span></span>
</td>
<td class="num">(39,852)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">39,986<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">9,382<span></span>
</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,382<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss)</a></td>
<td class="nump">161<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">161<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="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Ending Balance, shares at Sep. 26, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">61,770<span></span>
</td>
<td class="text">&#160;<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="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at end of period at Sep. 26, 2020</a></td>
<td class="nump">247,531<span></span>
</td>
<td class="nump">$ 1,544<span></span>
</td>
<td class="nump">939,874<span></span>
</td>
<td class="num">(693)<span></span>
</td>
<td class="num">(693,194)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Beginning Balance, shares at Jun. 27, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">58,143<span></span>
</td>
<td class="text">&#160;<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="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at beginning of period at Jun. 27, 2020</a></td>
<td class="nump">159,168<span></span>
</td>
<td class="nump">$ 1,587<span></span>
</td>
<td class="nump">912,402<span></span>
</td>
<td class="num">(1,103)<span></span>
</td>
<td class="num">(713,732)<span></span>
</td>
<td class="num">(39,986)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">3,574<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,574<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Issuance of common stock under equity incentive plans, net of forfeitures (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">407<span></span>
</td>
<td class="text">&#160;<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Issuance of common stock under equity incentive plans, net of forfeitures</a></td>
<td class="nump">3,778<span></span>
</td>
<td class="nump">$ 9<span></span>
</td>
<td class="nump">3,769<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Issuance of common stock in connection with public offering (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,220<span></span>
</td>
<td class="text">&#160;<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of common stock in connection with public offering</a></td>
<td class="nump">60,063<span></span>
</td>
<td class="nump">$ 82<span></span>
</td>
<td class="nump">59,981<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="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue', window );">Treasury stock retirement</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">$ (134)<span></span>
</td>
<td class="num">(39,852)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">39,986<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">20,538<span></span>
</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">20,538<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss)</a></td>
<td class="nump">410<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">410<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="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Ending Balance, shares at Sep. 26, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">61,770<span></span>
</td>
<td class="text">&#160;<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="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at end of period at Sep. 26, 2020</a></td>
<td class="nump">$ 247,531<span></span>
</td>
<td class="nump">$ 1,544<span></span>
</td>
<td class="nump">939,874<span></span>
</td>
<td class="num">(693)<span></span>
</td>
<td class="num">(693,194)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Beginning Balance, shares at Dec. 31, 2020</a></td>
<td class="nump">62,122<span></span>
</td>
<td class="nump">62,122<span></span>
</td>
<td class="text">&#160;<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="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at beginning of period at Dec. 31, 2020</a></td>
<td class="nump">$ 280,325<span></span>
</td>
<td class="nump">$ 1,553<span></span>
</td>
<td class="nump">948,055<span></span>
</td>
<td class="num">(191)<span></span>
</td>
<td class="num">(669,092)<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="top.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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">18,055<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Issuance of common stock under equity incentive plans, net of forfeitures (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,610<span></span>
</td>
<td class="text">&#160;<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Issuance of common stock under equity incentive plans, net of forfeitures</a></td>
<td class="nump">18,764<span></span>
</td>
<td class="nump">$ 41<span></span>
</td>
<td class="nump">18,723<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="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">218,497<span></span>
</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">218,497<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss)</a></td>
<td class="num">$ (15)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(15)<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="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Ending Balance, shares at Oct. 02, 2021</a></td>
<td class="nump">63,732<span></span>
</td>
<td class="nump">63,732<span></span>
</td>
<td class="text">&#160;<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="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at end of period at Oct. 02, 2021</a></td>
<td class="nump">$ 535,626<span></span>
</td>
<td class="nump">$ 1,594<span></span>
</td>
<td class="nump">984,833<span></span>
</td>
<td class="num">(206)<span></span>
</td>
<td class="num">(450,595)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Beginning Balance, shares at Jul. 03, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">63,200<span></span>
</td>
<td class="text">&#160;<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="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at beginning of period at Jul. 03, 2021</a></td>
<td class="nump">345,638<span></span>
</td>
<td class="nump">$ 1,580<span></span>
</td>
<td class="nump">972,259<span></span>
</td>
<td class="num">(182)<span></span>
</td>
<td class="num">(628,019)<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="top.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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">6,661<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,661<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Issuance of common stock under equity incentive plans, net of forfeitures (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">532<span></span>
</td>
<td class="text">&#160;<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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Issuance of common stock under equity incentive plans, net of forfeitures</a></td>
<td class="nump">5,927<span></span>
</td>
<td class="nump">$ 14<span></span>
</td>
<td class="nump">5,913<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="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">177,424<span></span>
</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">177,424<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss)</a></td>
<td class="num">$ (24)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(24)<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="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Ending Balance, shares at Oct. 02, 2021</a></td>
<td class="nump">63,732<span></span>
</td>
<td class="nump">63,732<span></span>
</td>
<td class="text">&#160;<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="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at end of period at Oct. 02, 2021</a></td>
<td class="nump">$ 535,626<span></span>
</td>
<td class="nump">$ 1,594<span></span>
</td>
<td class="nump">$ 984,833<span></span>
</td>
<td class="num">$ (206)<span></span>
</td>
<td class="num">$ (450,595)<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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=120383193&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 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br><br>Reference 3: 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 http://asc.fasb.org/extlink&amp;oid=120383193&amp;loc=d3e11178-113907<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121326096&amp;loc=d3e4534-113899<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=109259400&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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of other comprehensive income (loss) attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669625-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: 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 20<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569643-111683<br><br>Reference 4: 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 http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br><br>Reference 5: 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 19<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569616-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<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 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br><br>Reference 3: 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 http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 4: 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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<br><br>Reference 5: 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 http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 6: 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 1A<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 8: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br><br>Reference 9: 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 http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669625-108580<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 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22663-107794<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 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-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 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 13: 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 1A<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 14: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI http://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 15: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 16: 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 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3000-108585<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 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569616-111683<br><br>Reference 18: 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 http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<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 (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI http://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 21: 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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://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 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<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 S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<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(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodSharesShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=109259400&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 http://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 http://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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodValueNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://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 http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<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 http://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(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="top.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 http://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 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<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 http://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 http://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 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://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 http://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 http://asc.fasb.org/extlink&amp;oid=109259400&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 http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: 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 http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<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(31))<br> -URI http://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 http://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(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: 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 http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>19
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125833396136">
<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">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Sep. 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="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 218,497<span></span>
</td>
<td class="nump">$ 9,382<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', 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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">18,055<span></span>
</td>
<td class="nump">9,800<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation and amortization</a></td>
<td class="nump">11,351<span></span>
</td>
<td class="nump">10,311<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount', window );">Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount</a></td>
<td class="num">(161,995)<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="top.Show.showAR( this, 'defref_us-gaap_AssetImpairmentCharges', window );">Asset retirements and write-downs</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">3,749<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable, net</a></td>
<td class="num">(22,510)<span></span>
</td>
<td class="num">(22,622)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventory</a></td>
<td class="num">(22,897)<span></span>
</td>
<td class="num">(1,464)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other assets</a></td>
<td class="num">(9,776)<span></span>
</td>
<td class="nump">3,710<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="nump">18,311<span></span>
</td>
<td class="nump">5,616<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="num">(7,008)<span></span>
</td>
<td class="nump">3,834<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredRevenue', window );">Deferred revenue</a></td>
<td class="nump">6,691<span></span>
</td>
<td class="num">(342)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities', window );">Other long-term liabilities</a></td>
<td class="num">(4,544)<span></span>
</td>
<td class="num">(1,038)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">44,175<span></span>
</td>
<td class="nump">20,936<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Investing activities</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="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property and equipment</a></td>
<td class="num">(7,271)<span></span>
</td>
<td class="num">(5,617)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt', window );">Purchases of marketable securities</a></td>
<td class="num">(200,509)<span></span>
</td>
<td class="num">(39,986)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities', window );">Maturities of marketable securities</a></td>
<td class="nump">125,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(82,780)<span></span>
</td>
<td class="num">(45,603)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Financing activities:</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="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from common stock issuances related to employee benefit plans</a></td>
<td class="nump">18,764<span></span>
</td>
<td class="nump">14,097<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="top.Show.showAR( this, 'defref_calx_PaymentsForFinancingArrangements', window );">Payments related to financing arrangements</a></td>
<td class="num">(723)<span></span>
</td>
<td class="num">(2,342)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from the sale of common stock in connection with public offering, net of expense</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">60,063<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromLinesOfCredit', window );">Proceeds from line of credit</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">30,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="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfLinesOfCredit', window );">Repayment of line of credit</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(60,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="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtIssuanceCosts', window );">Payments to originate the line of credit</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(285)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by financing activities</a></td>
<td class="nump">18,041<span></span>
</td>
<td class="nump">41,533<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Effect of exchange rate changes on cash and cash equivalents</a></td>
<td class="num">(28)<span></span>
</td>
<td class="nump">131<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash and cash equivalents</a></td>
<td class="num">(20,592)<span></span>
</td>
<td class="nump">16,997<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents at beginning of period</a></td>
<td class="nump">80,807<span></span>
</td>
<td class="nump">47,457<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents at end of period</a></td>
<td class="nump">$ 60,215<span></span>
</td>
<td class="nump">$ 64,454<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_calx_PaymentsForFinancingArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payments For Financing Arrangements</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_PaymentsForFinancingArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&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 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109226348&amp;loc=d3e2420-110228<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&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 http://asc.fasb.org/extlink&amp;oid=121586364&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 http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=98513438&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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The 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="top.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 http://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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=98513438&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The 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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The 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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The 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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The 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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_IncreaseDecreaseInOtherNoncurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in noncurrent operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&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 http://asc.fasb.org/extlink&amp;oid=121586364&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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDebtIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt.</p></div>
<a href="javascript:void(0);" onclick="top.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 (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDebtIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PaymentsToAcquireAvailableForSaleSecuritiesDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to acquire 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="top.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 (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3213-108585<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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3151-108585<br><br>Reference 3: 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 http://asc.fasb.org/extlink&amp;oid=121553693&amp;loc=d3e26853-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The 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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="top.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 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</p></div>
<a href="javascript:void(0);" onclick="top.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 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3255-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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.(f))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121553693&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 http://asc.fasb.org/extlink&amp;oid=121586364&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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=120381028&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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<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 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br><br>Reference 3: 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 http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 4: 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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<br><br>Reference 5: 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 http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 6: 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 1A<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 8: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br><br>Reference 9: 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 http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669625-108580<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 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22663-107794<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 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-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 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 13: 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 1A<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 14: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI http://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 15: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 16: 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 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3000-108585<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 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569616-111683<br><br>Reference 18: 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 http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<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 (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI http://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 21: 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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RepaymentsOfLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3291-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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.(f))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_ValuationAllowanceDeferredTaxAssetChangeInAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>20
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125827851592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Company and Basis of Presentation<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 02, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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="top.Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock', window );">Company and Basis of Presentation</a></td>
<td class="text">Company and Basis of Presentation<div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Company</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Calix, Inc. (together with its subsidiaries, &#8220;Calix&#8221; or the &#8220;Company&#8221;) was incorporated in August 1999 and is a Delaware corporation. The Company is the leading global provider of cloud and software platforms, systems and services that focus on the access network, the portion of the network that governs available bandwidth and determines the range and quality of services that can be offered to subscribers. These cloud and software platforms enable broadband service providers (&#8220;BSPs&#8221;) of all types and sizes to innovate and transform their businesses. The Company&#8217;s BSP customers are empowered to utilize real-time data and insights from Calix platforms to simplify their businesses and deliver experiences that excite their subscribers. These insights enable BSPs to grow their businesses through increased subscriber acquisition, loyalty and revenue, thereby increasing the value of their businesses and contributions to their communities.</span></div><div style="margin-top:12pt"><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</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying unaudited condensed consolidated financial statements, including the accounts of Calix, Inc. and its wholly-owned subsidiaries, have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (&#8220;SEC&#8221;) for interim reporting. As permitted under those rules, certain footnotes or other financial information that are normally required by U.S. generally accepted accounting principles (&#8220;GAAP&#8221;) can be condensed or omitted. In the opinion of management, the financial statements include all normal and recurring adjustments that are considered necessary for the fair presentation of the Company&#8217;s financial position and operating results. All intercompany balances and transactions have been eliminated in consolidation. The Condensed Consolidated Balance Sheet as of December&#160;31, 2020 has been derived from the audited financial statements at that date.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The results of the Company&#8217;s operations can vary during each quarter of the year. Therefore, the results and trends in these interim financial statements may not be the same as those for the full year or any future periods. The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited financial statements included in the Company&#8217;s Annual Report on Form 10-K for the year ended December&#160;31, 2020.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s fiscal year begins on January 1</span><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">st</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and ends on December 31</span><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">st</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Quarterly periods are based on a 4-4-5 calendar with the first quarter ending on the Saturday closest to March 31</span><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">st</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. As a result, the Company had five more days in the nine months ended October&#160;2, 2021 than for the nine months ended September&#160;26, 2020. The preparation of financial statements in conformity with GAAP for interim financial reporting requires management to make estimates and assumptions that affect the amounts reported in the condensed consolidated financial statements and accompanying notes. Actual results could differ from those estimates.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Risks and Uncertainties</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is subject to risks and uncertainties as a result of the COVID-19 pandemic. The extent of the impact of the COVID-19 pandemic on the Company&#8217;s business is highly uncertain and difficult to predict, particularly as variants of the coronavirus continue to spread around the world. Although the availability of vaccines has increased, there are no assurances as to when the pandemic will be fully contained. In March 2020, the Company instituted office closures, travel restrictions and a work-from-anywhere policy for substantially all of its employees due to shelter-in-place mandates. In July 2021, the Company reopened its U.S. offices to fully-vaccinated employees who choose to work in the office and visitors and lifted certain travel restrictions. The spread of COVID-19 has had a prolonged impact on the Company&#8217;s supply chain operations due to restrictions, reduced capacity and limited availability from suppliers on whom the Company relies for sourcing components and materials and from third-party partners on whom the Company relies for manufacturing, warehousing and logistics services. Although demand for the Company&#8217;s products has been strong in the short-term as subscribers seek more bandwidth and better Wi-Fi, customers&#8217; purchasing decisions over the long-term may be impacted by the pandemic and its impact on the economy, which could in turn impact the Company&#8217;s revenue and results of operations. Furthermore, the Company&#8217;s supply chain continues to face constraints primarily due to challenges in sourcing components and materials for the Company&#8217;s products. The prolonged impact of COVID-19 could exacerbate these constraints or cause further supply chain disruptions. As of the issuance date of these condensed consolidated financial statements, the extent to which the COVID-19 pandemic may materially impact the Company&#8217;s financial condition, liquidity or results of operations remains uncertain.</span></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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://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 http://asc.fasb.org/topic&amp;trid=2197479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125829285848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 02, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Significant Accounting Policies</a></td>
<td class="text">Significant Accounting Policies<div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s significant accounting policies are disclosed in its Annual Report on Form&#160;10-K for the year ended December&#160;31, 2020. The Company&#8217;s significant accounting policies did not change during the nine months ended October&#160;2, 2021.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Newly Adopted Accounting Standard</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did not adopt any new accounting standards during the nine months ended October&#160;2, 2021 that were significant to the Company.</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:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Not Yet Adopted</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no additional accounting pronouncements or changes in accounting pronouncements during the nine months ended October&#160;2, 2021 as compared to the recent accounting pronouncements described in the Company&#8217;s Annual Report on Form 10-K for the year ended December&#160;31, 2020, that are significant or potentially significant to the Company.</span></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_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="top.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 235<br> -URI http://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125829358968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Marketable Securities<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 02, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAbstract', window );"><strong>Cash and Cash Equivalents [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="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock', window );">Cash, Cash Equivalents, and Marketable Securities</a></td>
<td class="text">Cash, Cash Equivalents and Marketable Securities<div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has invested its excess cash primarily in money market funds and highly liquid marketable securities such as commercial paper, corporate debt securities, municipal securities and U.S. government securities. The Company considers all investments with maturities of three months or less when purchased to be cash equivalents. Marketable securities represent highly liquid commercial paper, U.S. government agency securities, corporate debt securities, municipal securities and U.S. government securities with maturities greater than 90 days at date of purchase. Cash equivalents are stated at amounts that approximate fair value based on quoted market prices. Marketable securities are recorded at their fair values.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Marketable securities with maturities greater than one year are classified as current because management considers all marketable securities to be available for current operations.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s investments have been classified and accounted for as available-for-sale. Such investments are recorded at fair value and unrealized holding gains and losses are reported as a separate component of accumulated other comprehensive loss in the stockholders&#8217; equity until realized. Realized gains and losses on sales of marketable securities, if any, are determined on the specific identification method and are reclassified from accumulated other comprehensive loss to results of operations as other expense, net. Realized and unrealized gains and losses were de minimis for the period ended October&#160;2, 2021.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash, cash equivalents and marketable securities consisted of the following (in thousands):</span></div><div style="margin-top:5pt;text-indent:22.5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:73.172%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.079%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.081%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">December 31,<br/>2020</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 and cash equivalents:</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"/></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%">Cash</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%">30,609&#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%">30,745&#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%">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%">23,449&#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"/></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%">Money market funds</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,007&#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%">10,068&#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%">Municipal 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%">150&#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"/></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. government 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%">39,994&#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 25.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 cash and cash equivalents</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%">60,215&#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%">80,807&#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%">Marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;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%">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%">117,984&#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"/></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. government 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%">3,891&#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"/></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 debt 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%">3,772&#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"/></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. government 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%">1,520&#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%">52,982&#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%">Municipal 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%">1,325&#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"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.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 marketable securities</span></td><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%">128,492&#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%">52,982&#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: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 #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%">188,707&#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%">133,789&#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><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying amounts of the Company&#8217;s money market funds approximate their fair values due to their nature, duration and short maturities.</span></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_CashAndCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-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_CashCashEquivalentsAndMarketableSecuritiesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of cash, cash equivalents, and debt and equity securities, including any unrealized or realized gain (loss).</p></div>
<a href="javascript:void(0);" onclick="top.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> -URI http://asc.fasb.org/topic&amp;trid=2196928<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125829125464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 02, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresTextBlock', window );">Fair Value Measurements</a></td>
<td class="text">Fair Value Measurements<div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company measures its cash equivalents and marketable securities at fair value on a recurring basis. Fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. The Company utilizes the following three-tier value hierarchy, which prioritizes the inputs used in measuring fair value:</span></div><div style="margin-top:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 1 &#8211; Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets.</span></div><div style="margin-top:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 2 &#8211; Observable inputs other than quoted prices included in Level 1 for similar instruments in active markets, quoted prices for identical or similar instruments in markets that are not active, and model-driven valuations in which all significant inputs and significant value drivers are observable in active markets.</span></div><div style="margin-top:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 3 &#8211; Unobservable inputs to the valuation derived from fair valuation techniques in which one or more significant inputs or significant value drivers are unobservable. The fair value hierarchy also requires the Company to maximize the use of observable inputs, when available, and to minimize the use of unobservable inputs when determining inputs and determining fair value.</span></div><div><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 following tables sets forth the Company&#8217;s financial assets measured at fair value on a recurring basis based on the three-tier fair value hierarchy (in thousands): </span></div><div style="margin-top:5pt"><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:9.572%"/><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:9.572%"/><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:9.575%"/><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:8pt;font-weight:700;line-height:100%">As of October 2, 2021</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%">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:8pt;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:8pt;font-weight:700;line-height:100%">Total</span></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 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,007&#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%">6,007&#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 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. government 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%">1,520&#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%">1,520&#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%">Commercial paper</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%">141,433&#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%">141,433&#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. government agency 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%">&#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%">3,891&#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,891&#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 debt 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%">&#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%">3,772&#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,772&#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%">Municipal 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%">&#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%">1,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%">1,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="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%">7,527&#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%">150,571&#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%">158,098&#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><div style="margin-top:5pt"><span><br/></span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:76.608%"><tr><td style="width:1.0%"/><td style="width:84.968%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.832%"/><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:8pt;font-weight:700;line-height:100%">As of December 31, 2020</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%">Level 1</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 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 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%">10,068&#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="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 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. government 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%">92,976&#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%">103,044&#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>
</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The 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="top.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 http://asc.fasb.org/extlink&amp;oid=117815213&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>nonnum: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>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125827984248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Balance Sheet Details<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 02, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetRelatedDisclosuresAbstract', window );"><strong>Balance Sheet Related 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="top.Show.showAR( this, 'defref_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock', window );">Balance Sheet Details</a></td>
<td class="text">Balance Sheet Details<div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable, net consisted of the following (in thousands):</span></div><div style="margin-top:5pt;text-indent:22.5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:73.172%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.079%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.081%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">December 31,<br/>2020</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%">Accounts receivable</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%">92,703&#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%">70,824&#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%">Allowance for doubtful accounts</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%">(774)</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,405)</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%">91,929&#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%">69,419&#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><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory consisted of the following (in thousands):</span></div><div style="margin-top:5pt;text-indent:22.5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:73.172%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.079%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.081%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">December 31,<br/>2020</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 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%">169&#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%">34&#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%">Finished goods</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%">74,997&#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%">52,234&#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%">75,166&#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%">52,268&#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><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consisted of the following (in thousands):</span></div><div style="margin-top:5pt;text-indent:22.5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:73.172%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.079%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.081%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">December 31,<br/>2020</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%">Test equipment</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%">38,876&#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%">37,670&#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%">Software</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%">14,440&#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%">16,093&#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%">Computer equipment</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%">10,594&#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,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;text-align: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="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,733&#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,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;text-align: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="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,189&#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,345&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">66,832&#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 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%">66,239&#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:400;line-height:100%">Accumulated depreciation and amortization</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%">(45,872)</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%">(45,858)</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 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%">20,960&#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%">20,381&#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><div style="margin-top:1pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other long-term assets consisted of the following (in thousands):        </span></div><div style="margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:73.172%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.079%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.081%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">December 31,<br/>2020</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%">Intangible asset</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%">7,543&#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%">9,517&#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%">Other long-term assets</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,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%">2,648&#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%">11,014&#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%">12,165&#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><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Intangible Asset Acquisition</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2018, and as amended in December 2020, the Company entered into an agreement with a vendor to develop a certain software product and related enhancements pursuant to which the Company is obligated to make revenue-share payments under the program, subject to aggregate fixed revenue-share payments of $15.8&#160;million. The payments are based on a revenue-share rate applied to revenue from the developed-product and the corresponding hardware sales through March 2024. If the minimum revenue-share payments are not achieved by the end of that period, a true-up payment will be due. The Company had its first sale in August 2019, and as a result, the Company capitalized an intangible asset with a value of $13.2&#160;million in the third quarter of 2019 and also recognized a liability of $13.2&#160;million (a non-cash investing activity). The intangible asset has an estimated five-year useful life and is being amortized using the greater of the ratio of current gross revenue for the products to the total of current and anticipated future gross revenue for the products or the straight-line method. As of October 2, 2021, the liability, including accrued interest, was $13.6&#160;million of which $4.4&#160;million is included in accrued liabilities and $9.2&#160;million in other long-term liabilities in the accompanying Condensed Consolidated Balance Sheet. As of December 31, 2020, the liability, including accrued interest, was $13.9&#160;million of which $2.9&#160;million was included in accrued liabilities and $11.0&#160;million in other long-term liabilities.</span></div><div style="margin-top:12pt"><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="margin-top:5pt;text-indent:22.5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:73.172%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.079%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.081%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">December 31,<br/>2020</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%">Compensation and related benefits</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%">14,261&#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%">23,740&#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%">Warranty and retrofit</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,126&#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,208&#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%">Component inventory held by suppliers</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,606&#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,992&#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%">Professional and consulting fees</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,595&#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,497&#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%">Taxes payable</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,482&#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,476&#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%">Current portion of revenue share obligations</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,397&#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,925&#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%">Customer advances or rebates</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,358&#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%">8,374&#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%">Operating leases</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,151&#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,994&#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%">Freight</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,587&#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,955&#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%">Product returns</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,749&#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,888&#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%">Operations</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%">1,286&#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%">950&#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</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%">5,846&#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,737&#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%">61,444&#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%">68,736&#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><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in the Company&#8217;s accrued warranty and retrofit liability were as follows (in thousands):</span></div><div style="margin-top:5pt"><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:41.590%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.621%"/><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:400;line-height:100%">&#160;</span></td><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:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><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:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">September 26,<br/>2020</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%">Balance at beginning of period</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%">9,911&#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%">7,732&#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%">9,208&#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%">7,294&#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%">Provision for warranty and retrofit charged to cost of revenue</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%">769&#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,716&#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,974&#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,341&#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%">Utilization of reserve</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%">(554)</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%">(892)</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,056)</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,079)</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%">Balance at end of period</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%">10,126&#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%">8,556&#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%">10,126&#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%">8,556&#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"/></tr></table></div><div style="text-indent:22.5pt"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Accrued Restructuring Charges</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Responding to trends caused by the COVID-19 pandemic, the Company initiated a restructuring plan in June 2020 to accelerate the Company&#8217;s All Platform future and to align with a work-from-anywhere culture. The Company incurred restructuring charges of approximately $6.3&#160;million, consisting of facilities-related charges and severance and other termination-related benefits during 2020.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As part of the Company&#8217;s shift to a work-from-anywhere culture, many of the Company&#8217;s employees elected to work remotely on a permanent basis.  In light of this change, the Company evaluated its space needs and determined that a portion of the Company&#8217;s leased office spaces in Richardson, Texas and San Jose, California would no longer be utilized. As a result, the right-of-use assets related to these leases were written down, resulting in a charge of $3.5&#160;million during 2020. In addition, the Company wrote off assets with net book value of $0.3&#160;million and accrued common areas maintenance fees and property taxes related to the unused office space totaling $1.4&#160;million during 2020.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes restructuring activities (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:41.715%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.412%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.348%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.412%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.348%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.412%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.353%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Facilities</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:8pt;font-weight:700;line-height:100%">Severance and Related 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:8pt;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%">Balance as of December 31, 2020</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%">1,244&#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%">132&#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,376&#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 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 payments</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%">(193)</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%">(132)</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%">(325)</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%">Balance as of October 2, 2021</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%">1,051&#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%">&#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%">1,051&#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_BalanceSheetRelatedDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetRelatedDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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_SupplementalBalanceSheetDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.</p></div>
<a href="javascript:void(0);" onclick="top.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> -URI http://asc.fasb.org/topic&amp;trid=2122208<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalBalanceSheetDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125828007912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Credit Agreement<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 02, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAbstract', window );"><strong>Line of Credit Facility [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="top.Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">Credit Agreement</a></td>
<td class="text">Credit AgreementThe Company has a loan and security agreement with Bank of America, N.A. (&#8220;BofA Loan Agreement&#8221;). The BofA Loan Agreement provides for a revolving facility up to a principal amount of $35.0 million,&#160;including a&#160;$10.0 million&#160;sublimit for letters of credit. The BofA Loan Agreement matures, and any outstanding amounts become due and payable, in January 2023. The BofA Loan Agreement is secured by substantially all of the Company&#8217;s assets, including its intellectual property. Loans under the credit facility bear interest at a rate per annum equal to either LIBOR (customarily defined) plus an applicable margin between&#160;1.5%&#160;to&#160;2.0%&#160;or Prime Rate (customarily defined) plus an applicable margin between&#160;0.5%&#160;to&#160;1.0% (3.75% as of October&#160;2, 2021), in each case largely based on a fixed charge coverage ratio measured at the end of each fiscal quarter. As of October&#160;2, 2021, the Company had no outstanding borrowings and had full availability of borrowings up to $35.0 million.<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_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="top.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 470<br> -URI http://asc.fasb.org/topic&amp;trid=2208564<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125827924648">
<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">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 02, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text">Commitments and Contingencies<div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Lease Commitments</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases office space under non-cancelable operating leases. Certain of the Company&#8217;s operating leases contain renewal options and rent acceleration clauses. Future minimum payments under the non-cancelable operating leases consisted of the following as of October&#160;2, 2021 (in&#160;thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:75.010%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.016%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.674%"/><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:8pt;font-weight:700;line-height:100%">Period</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:8pt;font-weight:700;line-height:100%">Future Minimum Lease Payments</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 2021</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%">1,005&#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%">2022</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,014&#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%">2023</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,157&#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%">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%">3,962&#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%">3,453&#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%">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 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%">Total future 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%">16,766&#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 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%">Less imputed interest</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,099)</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%">14,667&#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><div style="margin-top:1pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of October&#160;2, 2021, the operating lease liability consisted of the following (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.052%"><tr><td style="width:1.0%"/><td style="width:78.656%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:3.314%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.730%"/><td style="width:0.1%"/></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="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%"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmIzN2YyOWZkNGJiNjRjZDBiMmFhMGM1NDM4ODBiOWRhL3RhYmxlcmFuZ2U6YjM3ZjI5ZmQ0YmI2NGNkMGIyYWEwYzU0Mzg4MGI5ZGFfMS0wLTEtMS01NDUx_31b3eaa5-08ea-4bbe-a999-f87feedfed4b">Accrued liabilities - current portion of operating leases</span></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%">3,151&#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="padding:2px 1pt;text-align: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 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%">11,516&#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: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%">14,667&#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><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases its headquarters office space in San Jose, California under a lease agreement that expires in December 2025. The future minimum lease payments under the lease are $10.2 million and are included in the table above.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted average discount rate for the Company&#8217;s operating leases as of October&#160;2, 2021 was 6.5%. The weighted average remaining lease term as of October&#160;2, 2021 was 4.1 years.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three and nine months ended October&#160;2, 2021, total rent expense of the Company was $1.0&#160;million and $3.1&#160;million, respectively. For the three and nine months ended September&#160;26, 2020, total rent expense of the Company was $0.9&#160;million and $3.1&#160;million, respectively. Cash paid within operating cash flows for operating leases was $2.9 million and $2.5&#160;million for the nine months ended October&#160;2, 2021 and September&#160;26, 2020, respectively.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Purchase Commitments</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s suppliers, including contract manufacturers (&#8220;CMs&#8221;) and original design manufacturers (&#8220;ODMs&#8221;), place orders for certain component inventory in advance based upon the Company&#8217;s build forecasts in order to reduce manufacturing lead times and ensure adequate component supply. The components are used by the CMs and ODMs to build the products included in the build forecasts. The Company generally does not take ownership of the components held by CMs and ODMs. The Company places purchase orders with its CMs and ODMs in order to fulfill its monthly finished product inventory requirements. The Company incurs a liability when the CMs and ODMs convert the component inventory to a finished product and takes ownership of the finished goods inventory. In the event of termination of services with a manufacturing partner, the Company has purchased, and may be required to purchase in the future, certain of the remaining components inventory held by the CM or ODM as well as any outstanding orders pursuant to the contractual provisions with such CM or ODM. As of October&#160;2, 2021, the Company had approximately $184.1 million of outstanding purchase commitments for inventories to be delivered by its suppliers, including CMs and ODMs, within one year.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has from time to time, and subject to certain conditions, reimbursed certain suppliers for component inventory purchases when this inventory has been rendered excess or obsolete, for example due to manufacturing and engineering change orders resulting from design changes, manufacturing discontinuation of products by its suppliers, or in cases where the Company has committed inventory levels that greatly exceed projected demand. The estimated excess and obsolete inventory liabilities related to such manufacturing and engineering change orders and other factors, which are included in accrued liabilities in the accompanying balance sheets, were $4.6 million and $4.0 million as of October&#160;2, 2021 and December&#160;31, 2020, respectively. The Company records the related charges in cost of systems revenue in its Condensed Consolidated Statements of Comprehensive Income.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Litigation</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, the Company is involved in various legal proceedings arising from the normal course of business activities. The Company is not currently a party to any legal proceedings that, if determined adversely to the Company, in management&#8217;s opinion, are currently expected to individually or in the aggregate have a material adverse effect on the Company&#8217;s business, operating results or financial condition taken as a whole.</span></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_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.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 450<br> -URI http://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI http://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 3: 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 http://asc.fasb.org/extlink&amp;oid=121559207&amp;loc=d3e25336-109308<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 (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559207&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>nonnum: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>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125827920744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 02, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteAbstract', window );"><strong>Stockholders' Equity Note [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="top.Show.showAR( this, 'defref_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock', window );">Stockholders' Equity</a></td>
<td class="text">Stockholders&#8217; Equity <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">2019 Equity Incentive Award Plan</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employees and consultants of the Company, its subsidiaries and affiliates, as well as members of the Company&#8217;s Board of Directors, are eligible to receive awards under the 2019 Equity Incentive Award Plan (&#8220;the 2019 Plan&#8221;). The 2019 Plan provides for the grant of stock options, including incentive stock options and nonqualified stock options, stock appreciation rights, restricted stock, restricted stock units, other stock or cash-based awards and dividend equivalents to eligible individuals. At the Company&#8217;s 2021 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the 2019 Plan by 3.8&#160;million shares. As of October&#160;2, 2021, there were 7.0&#160;million shares available for issuance under the 2019 Plan.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock Options</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three months ended October&#160;2, 2021, no stock option awards were granted. During the nine months ended October&#160;2, 2021, stock option awards exercisable for up to an aggregate of 0.6&#160;million shares of common stock were granted with a grant date weighted-average exercise price of $39.38 per share. These stock option awards vest 25% on the first anniversary of the vesting commencement date and on a quarterly basis thereafter over an additional three years.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In February 2021, performance-based stock option awards exercisable for up to an aggregate of 0.7&#160;million shares of common stock were granted to certain Company executives with a grant date exercise price of $36.74 per share. The actual number of shares earned is contingent upon achievement of annual corporate financial targets for bookings and non-GAAP net income for 2021 (collectively, the &#8220;2021 Performance Targets&#8221;) during the one-year performance period. These performance-based stock option awards will vest, subject to certification by the Compensation Committee of the Company&#8217;s Board of Directors upon the achievement of the 2021 Performance Targets, as to 25% of the shares of common stock earned on the one year anniversary of the date of grant, and as to the remaining 75% of the shares of common stock earned, in substantially equal quarterly installments over the subsequent 36 months, subject to the executive&#8217;s continuous service with the Company through the respective vesting dates. If the non-GAAP net income target is achieved below 80% of target or the bookings target is achieved below 90% of target, no shares would be awarded, and the performance-based stock option awards would be forfeited in full. If both targets are achieved at the minimum threshold of 80% of target for non-GAAP net income and 90% of target for bookings, then the shares are awarded at 50% of the granted shares, with an increasing percentage of shares awarded above the minimum thresholds up to 100% of the granted shares if both targets are achieved at 100% or more of target. The probability of meeting the performance conditions related to these performance-based stock option awards was assessed to be probable as of&#160;October&#160;2, 2021, and stock-based compensation expense of $1.9&#160;million was recognized for the three months ended&#160;October&#160;2, 2021. For the nine months ended October&#160;2, 2021, stock-based compensation expense of $4.8&#160;million was recognized.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the&#160;three&#160;months ended&#160;October&#160;2, 2021,&#160;0.4&#160;million shares of common stock were issued pursuant to the exercise of stock options at a weighted-average exercise price of&#160;$6.98&#160;per share. During the nine months ended October&#160;2, 2021, 1.0&#160;million shares of common stock were issued pursuant to the exercise of stock options at a weighted-average exercise price of $8.20 per share. As of October&#160;2, 2021, unrecognized stock-based compensation expense of $27.6 million related to stock options, net of estimated forfeitures, is expected to be recognized over a weighted-average period of 2.2 years.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Employee Stock Purchase Plans</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company maintains two employee stock purchase plans - the Amended and Restated Employee Stock Purchase Plan (the &#8220;ESPP&#8221;) and the Amended and Restated 2017 Nonqualified Employee Stock Purchase Plan (the &#8220;NQ ESPP&#8221;).</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The ESPP allows eligible employees to purchase shares of the Company&#8217;s common stock through payroll deductions of up to 15% of their eligible compensation subject to certain Internal Revenue Code limitations. In addition, no participant may purchase more than 2,000 shares of common stock in each offering period.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The offering periods under the ESPP are two six-month offering periods from August 15</span><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">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through February 14</span><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">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and February 15</span><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">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through August 14</span><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">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of each year. The price of common stock purchased under the ESPP is 85% of the lower of the fair market value of the common stock on the commencement date and the end date of each six-month offering period. At the </span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Company&#8217;s 2021 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the ESPP by 1.3&#160;million shares, which will go into effect for the six-month purchase period commencing August 15, 2021 and ending on February 14, 2022. The total shares authorized for issuance under the ESPP increased from 9.8&#160;million shares to 11.1&#160;million shares. As of October&#160;2, 2021, there were 3.6 million shares available for issuance under the ESPP. During the nine months ended October&#160;2, 2021, 0.3&#160;million shares were purchased under the ESPP. As of October&#160;2, 2021, unrecognized stock-based compensation expense of $1.1 million related to the ESPP is expected to be recognized over a remaining service period of 0.4 years.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The NQ ESPP allows eligible employees to purchase shares of the Company&#8217;s common stock through payroll deductions of up to 25% of their eligible compensation. Eligible employees have the right to (a) purchase the maximum number of whole shares of common stock that can be purchased with the elected payroll deductions during each offering period for which the employee is enrolled at a purchase price equal to the closing price of the Company&#8217;s common stock on the last day of such offering period and (b) receive an equal number of shares of the Company&#8217;s common stock that are subject to a risk of forfeiture in the event the employee terminates employment within the one year period immediately following the purchase date. The NQ ESPP provides two six-month offering periods from November 15</span><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">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through May 14</span><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">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and May 15</span><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">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through November 14</span><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">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of each year. At the Company&#8217;s 2021 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the NQ ESPP by 0.8&#160;million shares. The maximum number of shares of common stock currently authorized for issuance under the NQ ESPP is 5.5&#160;million shares, with a maximum of 0.5&#160;million shares allocated per purchase period. As of October&#160;2, 2021, there were 2.9 million shares available for issuance under the NQ ESPP, including the stockholder-approved 0.8&#160;million share increase. During the nine months ended October&#160;2, 2021, 0.2&#160;million shares were purchased and issued. As of October&#160;2, 2021, unrecognized stock-based compensation expense of $4.8 million related to the NQ ESPP is expected to be recognized over a remaining weighted-average service period of 0.9 year.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock-Based Compensation</span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes stock-based compensation expense (in thousands):</span></div><div style="margin-top:11pt;text-align:center"><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:41.590%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.621%"/><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:8pt;font-weight:400;line-height:100%">&#160;</span></td><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:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><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:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">September 26,<br/>2020</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%">Cost of revenue:</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 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%">Products</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%">211&#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%">159&#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%">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 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%">392&#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%">Services</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%">177&#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%">103&#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%">483&#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%">308&#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%">Sales and marketing</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,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%">1,035&#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,961&#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,994&#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%">Research and development</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%">1,803&#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,237&#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,031&#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,344&#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%">General and administrative</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,679&#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,040&#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%">7,021&#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,762&#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%">6,661&#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%">3,574&#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%">18,055&#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%">9,800&#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_ShareholdersEquityAndShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP).</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/topic&amp;trid=2208762<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI http://asc.fasb.org/topic&amp;trid=2228938<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_StockholdersEquityNoteAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteAbstract</td>
</tr>
<tr>
<td style="padding-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>28
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125827933016">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue from Contracts with Customers<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 02, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue from Contracts with Customers</a></td>
<td class="text">Revenue from Contracts with Customers<div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company derives revenue from contracts with customers primarily from the following and categorizes its revenue as follows:</span></div><div style="padding-left:31.5pt;text-indent:-9pt"><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:5.5pt">Systems include revenue from the sale of access and premises systems, software platform licenses and cloud-based software subscriptions; and</span></div><div style="padding-left:31.5pt;text-indent:-9pt"><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:5.5pt">Services include revenue from customer support, software- and cloud-based maintenance, extended warranty subscriptions, professional services, training and managed services.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of revenue disaggregated by geographic region based upon the location of the customers (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.198%"><tr><td style="width:1.0%"/><td style="width:23.824%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.471%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.383%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.121%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.559%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.471%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.383%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.121%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.015%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.471%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.383%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.121%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.775%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.863%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.383%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.121%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.635%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="21" 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:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="21" 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:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" 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%">October 2, 2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="9" 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%">September 26, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" 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%">October 2, 2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="9" 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%">September 26, 2020</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%">United States</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:2px 1pt;text-align:left;vertical-align: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="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%">136,312&#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;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:2px 1pt;text-align:left;vertical-align: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="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%">129,205&#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;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:2px 1pt;text-align:left;vertical-align: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="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%">414,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="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:2px 1pt;text-align:left;vertical-align: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="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%">326,063&#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;border-top:1pt solid #000000;padding:0 1pt"/></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%">Americas ex U.S.</span></td><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;padding:2px 0 2px 1pt;text-align: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,800&#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:0 1pt"/><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%">7,032&#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:0 1pt"/><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%">37,660&#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:0 1pt"/><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%">18,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"/></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="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;padding:2px 0 2px 1pt;text-align: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,443&#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:0 1pt"/><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,183&#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:0 1pt"/><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%">32,701&#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:0 1pt"/><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%">15,414&#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"/></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%">Middle East &amp; Africa</span></td><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;padding:2px 0 2px 1pt;text-align: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,905&#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:0 1pt"/><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,537&#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:0 1pt"/><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%">16,165&#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:0 1pt"/><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,171&#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"/></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%">Asia Pacific</span></td><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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">771&#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:0 1pt"/><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%">551&#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:0 1pt"/><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,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="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;padding:2px 0 2px 1pt;text-align: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,596&#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"/></tr><tr><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;border-bottom:3pt double #000000;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%">$</span></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%">172,231&#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;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;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%">$</span></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%">150,508&#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;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;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%">$</span></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%">502,975&#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;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;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%">$</span></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%">371,213&#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;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"/></tr></table></div><div style="margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract Asset</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The primary contract asset is revenue recognized on professional services contracts where the services are transferred to the customer over time, which has yet to be billed, and is classified within accounts receivable. Amounts are billed in accordance with the agreed-upon contractual terms.&#160;The balance as of December&#160;31, 2020 was $2.3 million of which $0.3 million remained in the Company&#8217;s Condensed Consolidated Balance Sheet as of October&#160;2, 2021.&#160;The closing balance as of October&#160;2, 2021 was $1.2 million of which the Company expects to bill 55% of the balance during the remainder of 2020. The decrease in the contract asset was driven by billings for past services and a reduction in expected cash collections on ongoing projects partially offset by additional unbilled work performed during the three months ended October&#160;2, 2021.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract Liability</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenue consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><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.321%"/><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:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.522%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">December 31,<br/>2020</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%">Current:</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"/></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%">Products and services</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%">19,465&#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%">14,651&#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%">Extended warranty</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,752&#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,538&#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 #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%">24,217&#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 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%">19,189&#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:400;line-height:100%">Long-term:</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"/></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%">Products and services</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,639&#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,879&#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%">Extended warranty</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%">18,929&#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%">18,025&#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 #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%">21,568&#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 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%">19,904&#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: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%">45,785&#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%">39,093&#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><div style="margin-top:1pt"><span><br/></span></div><div style="margin-top:1pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The&#160;increase&#160;in the deferred revenue balance for the&#160;three and nine months ended&#160;October&#160;2, 2021&#160;is primarily driven by cash payments received or due in advance of satisfying the Company&#8217;s performance obligations offset by $8.6&#160;million&#160;and $17.1&#160;million of revenue recognized that was included in the deferred revenue balance at the beginning of each period, respectively.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue allocated to remaining performance obligations represents contract revenue that has not yet been recognized, which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods. This amount was $105.0&#160;million as of October&#160;2, 2021, and the Company expects to recognize 34% of such revenue over the next 12 months and the remainder thereafter.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract Costs</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company capitalizes certain sales commissions related primarily to multi-year subscriptions and extended warranty support for which the expected amortization period is greater than one year. As of October&#160;2, 2021, the unamortized balance of deferred commissions was&#160;$4.0 million.&#160;For the three and nine months ended October&#160;2, 2021, the amount of amortization was&#160;$0.4 million and $0.7&#160;million, respectively. There was no impairment loss in relation to the costs capitalized.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Concentration of Customer Risk</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">One customer, our only greater-than-10%-of-revenue customer, represented 10% of the Company&#8217;s total revenue for the three months ended October&#160;2, 2021. No customer accounted for more than 10% of the Company&#8217;s total revenue for the nine months ended October&#160;2, 2021. Another customer, Lumen Technologies, Inc. (formerly CenturyLink, Inc.), our only greater-than-10%-of-revenue customer, represented 12% and 14% of total revenue for three and nine months ended September&#160;26, 2020, respectively.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No customer represented more than 10% of the Company&#8217;s accounts receivable as of October&#160;2, 2021 or December&#160;31, 2020.</span></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_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The 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="top.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 http://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 http://asc.fasb.org/extlink&amp;oid=121604090&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 http://asc.fasb.org/extlink&amp;oid=121604090&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 http://asc.fasb.org/extlink&amp;oid=121604090&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 http://asc.fasb.org/extlink&amp;oid=121604090&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 http://asc.fasb.org/extlink&amp;oid=121604090&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 http://asc.fasb.org/extlink&amp;oid=121604090&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 http://asc.fasb.org/extlink&amp;oid=121604090&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 http://asc.fasb.org/extlink&amp;oid=121604090&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 http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130554-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>nonnum: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>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125827677048">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 02, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax 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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text">Income Taxes<div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents income taxes and the effective tax rates for the periods indicated (in thousands, except percentages):</span></div><div style="margin-top:5pt"><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:33.987%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><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:1.408%"/><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:1.408%"/><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:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.524%"/><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:8pt;font-weight:400;line-height:100%">&#160;</span></td><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:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><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:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">September 26,<br/>2020</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%">Income taxes</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%">(159,982)</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%">149&#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%">(159,625)</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%">626&#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%">Effective tax rate</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%">(917.2)</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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.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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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.1)</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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.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></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s income taxes for the nine months ended October 2, 2021 and September 26, 2020 was determined using an estimated effective tax rate adjusted for discrete items that occurred during the respective periods. The income tax benefit for the nine months ended October 2, 2021 was primarily due to the release of the valuation allowance on certain U.S. federal and state deferred tax assets and, to a lesser degree, benefits related to stock-based compensation and income taxes related to various states and profitable subsidiaries. For the nine months ended September 26, 2020, the tax expense was primarily related to the foreign tax provision.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has net deferred tax assets that have arisen primarily as a result of temporary differences, net operating loss carryforwards and tax credits. The Company&#8217;s ability to realize a deferred tax asset is based on its ability to generate sufficient future taxable income within the applicable carryforward period and subject to any applicable limitations.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A valuation allowance is required when, based upon an assessment of various factors, including recent operating loss history, anticipated future earnings, and prudent and reasonable tax planning strategies, it is more likely than not that some portion of the deferred tax assets will not be realized. At each reporting period, the Company assesses the estimated future realizability of the gross carrying value of its deferred tax assets. The Company&#8217;s periodic assessments take into consideration both positive evidence (future profitability projections for example and recent financial performance) and negative evidence (historical financial performance for example) as it relates to evaluating the future recoverability of its deferred tax assets. During the third quarter of 2021, the Company recognized an income tax benefit of $162.0&#160;million offset by current income taxes, based on management&#8217;s reassessment of the amount of its U.S. federal and other state deferred tax assets that are more likely than not to be realized, primarily as a result of actual and projected increases in U.S. profitability in the current and future periods. In performing its analysis, the Company used the most updated plans and estimates that it currently uses to manage the underlying business and calculated the ability to utilize its deferred tax assets. The Company continues to maintain a valuation allowance of $28.7&#160;million on certain U.S. federal and state deferred tax assets that the Company believes are not more likely than not to be realized in future periods.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company considers scheduled reversals of deferred tax liabilities, projected future taxable income, ongoing tax planning strategies and other matters, including the period over which its deferred tax assets will be recoverable, in assessing the need for and the amount of the valuation allowance. In the event that actual results differ from these estimates, or if the Company decides to adjust these estimates in the future periods, further adjustments to its valuation allowance may be recorded, which could materially impact the Company&#8217;s financial position and net income in the period of the adjustment.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 26, 2020, the total expense was primarily related to foreign activity. In 2020, based on a review of the positive and negative evidence, management concluded that the deferred tax assets were not more likely to be realized which resulted in an immaterial domestic provision as the deferred tax assets were fully offset with the valuation allowance.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s income taxes may be subject to fluctuation during the year and in future years as new information is obtained, which may affect the assumptions used to estimate the annual effective tax rate including factors as actual results differing from its estimates of pre-tax earnings in the various jurisdictions in which the Company operates, which could impact the recognition of its deferred tax assets, the recognition or de-recognition of tax benefits related to uncertain tax positions and changes in or the interpretation of tax laws in jurisdictions where the Company conducts business.</span></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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="top.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 50<br> -Paragraph 21<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32857-109319<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 S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330215-122817<br><br>Reference 3: 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 17<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32809-109319<br><br>Reference 4: 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.5.Q1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 5: 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 14<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32705-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6424409&amp;loc=d3e44925-109338<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI http://asc.fasb.org/topic&amp;trid=2144680<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125829375528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Income Per Common Share<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 02, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Net Income Per Common Share</a></td>
<td class="text">Net Income Per Common Share<div style="margin-top:6pt"><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 the computation of basic and diluted net income per common share for the periods indicated (in thousands, except per share data):</span></div><div style="margin-top:5pt"><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:41.005%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.115%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.911%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.115%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.911%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.911%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.916%"/><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:8pt;font-weight:400;line-height:100%">&#160;</span></td><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:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><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:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">September 26,<br/>2020</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%">Numerator:</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 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%">Net income</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%">177,424&#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%">20,538&#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%">218,497&#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%">9,382&#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%">Denominator:</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 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%">Weighted-average common shares outstanding used to compute basic net income per share</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%">63,588&#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%">60,307&#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%">63,057&#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%">58,053&#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%">Effect of dilutive common stock equivalents</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,319&#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,142&#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,480&#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,278&#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%">Weighted-average common shares outstanding used to compute diluted net income per share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">67,907&#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 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%">63,449&#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 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%">67,537&#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 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%">60,331&#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:400;line-height:100%">Net income per common share:</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 #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;text-align: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 net income per common share</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%">2.79&#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%">0.34&#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%">3.47&#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%">0.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:400;line-height:100%">Diluted net income per common share</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%">2.61&#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%">0.32&#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%">3.24&#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%">0.16&#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%">Potentially dilutive shares, weighted average</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,224&#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%">169&#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%">908&#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%">579&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Potentially dilutive shares have been excluded from the computation of diluted net income per common share when their effect is antidilutive. These antidilutive shares were from stock options.</span></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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://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 http://asc.fasb.org/extlink&amp;oid=6371337&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 http://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 http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>nonnum: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>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125832421992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 02, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of Presentation</a></td>
<td class="text"><div style="margin-top:12pt"><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</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying unaudited condensed consolidated financial statements, including the accounts of Calix, Inc. and its wholly-owned subsidiaries, have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (&#8220;SEC&#8221;) for interim reporting. As permitted under those rules, certain footnotes or other financial information that are normally required by U.S. generally accepted accounting principles (&#8220;GAAP&#8221;) can be condensed or omitted. In the opinion of management, the financial statements include all normal and recurring adjustments that are considered necessary for the fair presentation of the Company&#8217;s financial position and operating results. All intercompany balances and transactions have been eliminated in consolidation. The Condensed Consolidated Balance Sheet as of December&#160;31, 2020 has been derived from the audited financial statements at that date.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The results of the Company&#8217;s operations can vary during each quarter of the year. Therefore, the results and trends in these interim financial statements may not be the same as those for the full year or any future periods. The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited financial statements included in the Company&#8217;s Annual Report on Form 10-K for the year ended December&#160;31, 2020.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s fiscal year begins on January 1</span><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">st</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and ends on December 31</span><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">st</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Quarterly periods are based on a 4-4-5 calendar with the first quarter ending on the Saturday closest to March 31</span><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">st</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. As a result, the Company had five more days in the nine months ended October&#160;2, 2021 than for the nine months ended September&#160;26, 2020. The preparation of financial statements in conformity with GAAP for interim financial reporting requires management to make estimates and assumptions that affect the amounts reported in the condensed consolidated financial statements and accompanying notes. Actual results could differ from those estimates.</span></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="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesPolicyTextBlock', window );">Risks and Uncertainties</a></td>
<td class="text"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Risks and Uncertainties</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is subject to risks and uncertainties as a result of the COVID-19 pandemic. The extent of the impact of the COVID-19 pandemic on the Company&#8217;s business is highly uncertain and difficult to predict, particularly as variants of the coronavirus continue to spread around the world. Although the availability of vaccines has increased, there are no assurances as to when the pandemic will be fully contained. In March 2020, the Company instituted office closures, travel restrictions and a work-from-anywhere policy for substantially all of its employees due to shelter-in-place mandates. In July 2021, the Company reopened its U.S. offices to fully-vaccinated employees who choose to work in the office and visitors and lifted certain travel restrictions. The spread of COVID-19 has had a prolonged impact on the Company&#8217;s supply chain operations due to restrictions, reduced capacity and limited availability from suppliers on whom the Company relies for sourcing components and materials and from third-party partners on whom the Company relies for manufacturing, warehousing and logistics services. Although demand for the Company&#8217;s products has been strong in the short-term as subscribers seek more bandwidth and better Wi-Fi, customers&#8217; purchasing decisions over the long-term may be impacted by the pandemic and its impact on the economy, which could in turn impact the Company&#8217;s revenue and results of operations. Furthermore, the Company&#8217;s supply chain continues to face constraints primarily due to challenges in sourcing components and materials for the Company&#8217;s products. The prolonged impact of COVID-19 could exacerbate these constraints or cause further supply chain disruptions. As of the issuance date of these condensed consolidated financial statements, the extent to which the COVID-19 pandemic may materially impact the Company&#8217;s financial condition, liquidity or results of operations remains uncertain.</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="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Newly Adopted Accounting Standard and Recent Accounting Pronouncements Not Yet Adopted</a></td>
<td class="text"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Newly Adopted Accounting Standard</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did not adopt any new accounting standards during the nine months ended October&#160;2, 2021 that were significant to the Company.</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:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Not Yet Adopted</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no additional accounting pronouncements or changes in accounting pronouncements during the nine months ended October&#160;2, 2021 as compared to the recent accounting pronouncements described in the Company&#8217;s Annual Report on Form 10-K for the year ended December&#160;31, 2020, that are significant or potentially significant to the Company.</span></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="top.Show.showAR( this, 'defref_us-gaap_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company derives revenue from contracts with customers primarily from the following and categorizes its revenue as follows:</span></div><div style="padding-left:31.5pt;text-indent:-9pt"><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:5.5pt">Systems include revenue from the sale of access and premises systems, software platform licenses and cloud-based software subscriptions; and</span></div><div style="padding-left:31.5pt;text-indent:-9pt"><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:5.5pt">Services include revenue from customer support, software- and cloud-based maintenance, extended warranty subscriptions, professional services, training and managed services.</span></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_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>nonnum: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_CommitmentsAndContingenciesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for commitments and contingencies, which may include policies for recognizing and measuring loss and gain contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.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 954<br> -SubTopic 450<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6491354&amp;loc=d3e6052-115624<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 450<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6491354&amp;loc=d3e6049-115624<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 (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRecognitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18823-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18823-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125829257896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cash, Cash Equivalents and Restricted Cash (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 02, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAbstract', window );"><strong>Cash and Cash Equivalents [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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock', window );">Summary of cash and cash equivalents</a></td>
<td class="text"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash, cash equivalents and marketable securities consisted of the following (in thousands):</span></div><div style="margin-top:5pt;text-indent:22.5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:73.172%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.079%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.081%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">December 31,<br/>2020</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 and cash equivalents:</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"/></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%">Cash</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%">30,609&#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%">30,745&#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%">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%">23,449&#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"/></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%">Money market funds</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,007&#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%">10,068&#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%">Municipal 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%">150&#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"/></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. government 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%">39,994&#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 25.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 cash and cash equivalents</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%">60,215&#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%">80,807&#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%">Marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;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%">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%">117,984&#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"/></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. government 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%">3,891&#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"/></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 debt 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%">3,772&#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"/></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. government 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%">1,520&#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%">52,982&#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%">Municipal 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%">1,325&#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"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.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 marketable securities</span></td><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%">128,492&#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%">52,982&#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: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 #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%">188,707&#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%">133,789&#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_CashAndCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfCashAndCashEquivalentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of cash and cash equivalents.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125827650984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measures and Disclosures (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 02, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock', window );">Fair value, assets measured on recurring basis</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%">The following tables sets forth the Company&#8217;s financial assets measured at fair value on a recurring basis based on the three-tier fair value hierarchy (in thousands): </span></div><div style="margin-top:5pt"><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:9.572%"/><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:9.572%"/><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:9.575%"/><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:8pt;font-weight:700;line-height:100%">As of October 2, 2021</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%">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:8pt;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:8pt;font-weight:700;line-height:100%">Total</span></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 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,007&#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%">6,007&#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 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. government 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%">1,520&#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%">1,520&#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%">Commercial paper</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%">141,433&#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%">141,433&#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. government agency 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%">&#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%">3,891&#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,891&#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 debt 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%">&#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%">3,772&#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,772&#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%">Municipal 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%">&#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%">1,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%">1,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="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%">7,527&#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%">150,571&#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%">158,098&#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><div style="margin-top:5pt"><span><br/></span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:76.608%"><tr><td style="width:1.0%"/><td style="width:84.968%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.832%"/><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:8pt;font-weight:700;line-height:100%">As of December 31, 2020</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%">Level 1</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 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 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%">10,068&#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="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 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. government 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%">92,976&#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%">103,044&#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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class 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="top.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 (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=117815213&amp;loc=d3e19207-110258<br><br>Reference 2: 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 http://asc.fasb.org/extlink&amp;oid=117815213&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125829449624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Balance Sheet Details (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 02, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetRelatedDisclosuresAbstract', window );"><strong>Balance Sheet Related 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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock', window );">Summary of accounts receivable, net</a></td>
<td class="text"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable, net consisted of the following (in thousands):</span></div><div style="margin-top:5pt;text-indent:22.5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:73.172%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.079%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.081%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">December 31,<br/>2020</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%">Accounts receivable</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%">92,703&#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%">70,824&#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%">Allowance for doubtful accounts</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%">(774)</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,405)</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%">91,929&#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%">69,419&#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>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Summary of inventory</a></td>
<td class="text"><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory consisted of the following (in thousands):</span></div><div style="margin-top:5pt;text-indent:22.5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:73.172%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.079%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.081%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">December 31,<br/>2020</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 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%">169&#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%">34&#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%">Finished goods</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%">74,997&#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%">52,234&#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%">75,166&#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%">52,268&#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>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Summary of property and equipment, net</a></td>
<td class="text"><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consisted of the following (in thousands):</span></div><div style="margin-top:5pt;text-indent:22.5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:73.172%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.079%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.081%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">December 31,<br/>2020</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%">Test equipment</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%">38,876&#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%">37,670&#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%">Software</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%">14,440&#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%">16,093&#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%">Computer equipment</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%">10,594&#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,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;text-align: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="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,733&#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,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;text-align: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="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,189&#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,345&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">66,832&#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 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%">66,239&#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:400;line-height:100%">Accumulated depreciation and amortization</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%">(45,872)</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%">(45,858)</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 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%">20,960&#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%">20,381&#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>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock', window );">Schedule of other long-term assets</a></td>
<td class="text"><div style="margin-top:1pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other long-term assets consisted of the following (in thousands):        </span></div><div style="margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:73.172%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.079%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.081%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">December 31,<br/>2020</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%">Intangible asset</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%">7,543&#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%">9,517&#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%">Other long-term assets</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,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%">2,648&#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%">11,014&#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%">12,165&#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>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Summary of accrued liabilities</a></td>
<td class="text"><div style="margin-top:12pt"><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="margin-top:5pt;text-indent:22.5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:73.172%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.079%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.081%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">December 31,<br/>2020</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%">Compensation and related benefits</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%">14,261&#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%">23,740&#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%">Warranty and retrofit</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,126&#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,208&#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%">Component inventory held by suppliers</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,606&#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,992&#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%">Professional and consulting fees</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,595&#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,497&#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%">Taxes payable</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,482&#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,476&#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%">Current portion of revenue share obligations</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,397&#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,925&#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%">Customer advances or rebates</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,358&#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%">8,374&#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%">Operating leases</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,151&#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,994&#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%">Freight</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,587&#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,955&#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%">Product returns</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,749&#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,888&#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%">Operations</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%">1,286&#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%">950&#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</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%">5,846&#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,737&#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%">61,444&#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%">68,736&#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>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock', window );">Product warranty activities</a></td>
<td class="text"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in the Company&#8217;s accrued warranty and retrofit liability were as follows (in thousands):</span></div><div style="margin-top:5pt"><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:41.590%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.621%"/><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:400;line-height:100%">&#160;</span></td><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:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><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:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">September 26,<br/>2020</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%">Balance at beginning of period</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%">9,911&#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%">7,732&#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%">9,208&#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%">7,294&#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%">Provision for warranty and retrofit charged to cost of revenue</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%">769&#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,716&#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,974&#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,341&#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%">Utilization of reserve</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%">(554)</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%">(892)</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,056)</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,079)</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%">Balance at end of period</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%">10,126&#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%">8,556&#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%">10,126&#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%">8,556&#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"/></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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock', window );">Restructuring and related costs</a></td>
<td class="text"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes restructuring activities (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:41.715%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.412%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.348%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.412%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.348%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.412%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.353%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Facilities</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:8pt;font-weight:700;line-height:100%">Severance and Related 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:8pt;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%">Balance as of December 31, 2020</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%">1,244&#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%">132&#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,376&#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 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 payments</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%">(193)</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%">(132)</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%">(325)</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%">Balance as of October 2, 2021</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%">1,051&#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%">&#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%">1,051&#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_BalanceSheetRelatedDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetRelatedDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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(13))<br> -URI http://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> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>nonnum: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_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.</p></div>
<a href="javascript:void(0);" onclick="top.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.3,4)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>nonnum: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_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://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 http://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 http://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 http://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>nonnum: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_ScheduleOfOtherAssetsNoncurrentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of noncurrent assets.</p></div>
<a href="javascript:void(0);" onclick="top.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.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>nonnum: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_ScheduleOfRestructuringAndRelatedCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://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 http://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 http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>nonnum: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>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125828029240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 02, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of future minimum rental payments for operating leases</a></td>
<td class="text">Future minimum payments under the non-cancelable operating leases consisted of the following as of October&#160;2, 2021 (in&#160;thousands):<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:75.010%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.016%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.674%"/><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:8pt;font-weight:700;line-height:100%">Period</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:8pt;font-weight:700;line-height:100%">Future Minimum Lease Payments</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 2021</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%">1,005&#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%">2022</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,014&#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%">2023</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,157&#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%">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%">3,962&#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%">3,453&#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%">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 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%">Total future 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%">16,766&#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 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%">Less imputed interest</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,099)</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%">14,667&#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>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_calx_LesseeOperatingLeaseLiabilityTableTextBlock', window );">Lessee, operating lease liability</a></td>
<td class="text"><div style="margin-top:1pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of October&#160;2, 2021, the operating lease liability consisted of the following (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.052%"><tr><td style="width:1.0%"/><td style="width:78.656%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:3.314%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.730%"/><td style="width:0.1%"/></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="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%"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkNDFlMGEyMjYzMzQxNDM5ZTQ4YmQwM2Q4ZDM1ODZhL3NlYzo1ZDQxZTBhMjI2MzM0MTQzOWU0OGJkMDNkOGQzNTg2YV80OS9mcmFnOjNjZmE1ZDlhOTlkMjRiOTliZGRiMmMzNzE4MTM0MGJjL3RhYmxlOmIzN2YyOWZkNGJiNjRjZDBiMmFhMGM1NDM4ODBiOWRhL3RhYmxlcmFuZ2U6YjM3ZjI5ZmQ0YmI2NGNkMGIyYWEwYzU0Mzg4MGI5ZGFfMS0wLTEtMS01NDUx_31b3eaa5-08ea-4bbe-a999-f87feedfed4b">Accrued liabilities - current portion of operating leases</span></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%">3,151&#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="padding:2px 1pt;text-align: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 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%">11,516&#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: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%">14,667&#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_calx_LesseeOperatingLeaseLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lessee, Operating Lease Liability</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_LesseeOperatingLeaseLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>nonnum: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>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125829231848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 02, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteAbstract', window );"><strong>Stockholders' Equity Note [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="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock', window );">Disclosure of share-based compensation arrangements by share-based payment award</a></td>
<td class="text"><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes stock-based compensation expense (in thousands):</span></div><div style="margin-top:11pt;text-align:center"><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:41.590%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.621%"/><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:8pt;font-weight:400;line-height:100%">&#160;</span></td><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:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><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:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">September 26,<br/>2020</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%">Cost of revenue:</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 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%">Products</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%">211&#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%">159&#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%">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 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%">392&#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%">Services</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%">177&#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%">103&#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%">483&#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%">308&#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%">Sales and marketing</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,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%">1,035&#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,961&#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,994&#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%">Research and development</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%">1,803&#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,237&#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,031&#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,344&#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%">General and administrative</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,679&#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,040&#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%">7,021&#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,762&#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%">6,661&#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%">3,574&#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%">18,055&#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%">9,800&#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_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.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 1<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<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 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_StockholdersEquityNoteAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125828023656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue from Contracts with Customers (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 02, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock', window );">Revenue from external customers by geographic areas</a></td>
<td class="text"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of revenue disaggregated by geographic region based upon the location of the customers (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.198%"><tr><td style="width:1.0%"/><td style="width:23.824%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.471%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.383%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.121%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.559%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.471%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.383%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.121%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.015%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.471%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.383%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.121%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.775%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.863%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.383%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.121%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.635%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="21" 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:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="21" 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:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" 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%">October 2, 2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="9" 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%">September 26, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" 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%">October 2, 2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="9" 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%">September 26, 2020</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%">United States</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:2px 1pt;text-align:left;vertical-align: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="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%">136,312&#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;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:2px 1pt;text-align:left;vertical-align: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="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%">129,205&#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;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:2px 1pt;text-align:left;vertical-align: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="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%">414,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="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:2px 1pt;text-align:left;vertical-align: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="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%">326,063&#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;border-top:1pt solid #000000;padding:0 1pt"/></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%">Americas ex U.S.</span></td><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;padding:2px 0 2px 1pt;text-align: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,800&#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:0 1pt"/><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%">7,032&#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:0 1pt"/><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%">37,660&#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:0 1pt"/><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%">18,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"/></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="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;padding:2px 0 2px 1pt;text-align: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,443&#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:0 1pt"/><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,183&#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:0 1pt"/><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%">32,701&#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:0 1pt"/><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%">15,414&#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"/></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%">Middle East &amp; Africa</span></td><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;padding:2px 0 2px 1pt;text-align: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,905&#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:0 1pt"/><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,537&#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:0 1pt"/><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%">16,165&#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:0 1pt"/><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,171&#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"/></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%">Asia Pacific</span></td><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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">771&#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:0 1pt"/><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%">551&#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:0 1pt"/><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,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="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;padding:2px 0 2px 1pt;text-align: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,596&#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"/></tr><tr><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;border-bottom:3pt double #000000;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%">$</span></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%">172,231&#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;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;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%">$</span></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%">150,508&#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;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;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%">$</span></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%">502,975&#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;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;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%">$</span></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%">371,213&#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;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:0 1pt"/></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="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Deferred revenue, by arrangement, disclosure</a></td>
<td class="text"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenue consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><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.321%"/><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:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.522%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">December 31,<br/>2020</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%">Current:</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"/></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%">Products and services</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%">19,465&#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%">14,651&#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%">Extended warranty</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,752&#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,538&#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 #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%">24,217&#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 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%">19,189&#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:400;line-height:100%">Long-term:</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"/></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%">Products and services</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,639&#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,879&#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%">Extended warranty</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%">18,929&#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%">18,025&#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 #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%">21,568&#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 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%">19,904&#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: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%">45,785&#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%">39,093&#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_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_RevenueFromExternalCustomersByGeographicAreasTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.</p></div>
<a href="javascript:void(0);" onclick="top.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 41<br> -Subparagraph a<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9038-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125829782664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 02, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax 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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Schedule of income taxes</a></td>
<td class="text"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents income taxes and the effective tax rates for the periods indicated (in thousands, except percentages):</span></div><div style="margin-top:5pt"><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:33.987%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><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:1.408%"/><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:1.408%"/><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:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.524%"/><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:8pt;font-weight:400;line-height:100%">&#160;</span></td><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:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><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:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">September 26,<br/>2020</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%">Income taxes</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%">(159,982)</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%">149&#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%">(159,625)</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%">626&#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%">Effective tax rate</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%">(917.2)</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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.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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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.1)</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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.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></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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="top.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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125827706968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Income Per Common Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 02, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of net income (loss) per share</a></td>
<td class="text"><div style="margin-top:6pt"><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 the computation of basic and diluted net income per common share for the periods indicated (in thousands, except per share data):</span></div><div style="margin-top:5pt"><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:41.005%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.115%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.911%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.115%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.911%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.911%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.916%"/><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:8pt;font-weight:400;line-height:100%">&#160;</span></td><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:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><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:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">September 26,<br/>2020</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:8pt;font-weight:700;line-height:100%">October 2,<br/>2021</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:8pt;font-weight:700;line-height:100%">September 26,<br/>2020</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%">Numerator:</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 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%">Net income</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%">177,424&#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%">20,538&#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%">218,497&#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%">9,382&#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%">Denominator:</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 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%">Weighted-average common shares outstanding used to compute basic net income per share</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%">63,588&#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%">60,307&#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%">63,057&#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%">58,053&#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%">Effect of dilutive common stock equivalents</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,319&#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,142&#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,480&#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,278&#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%">Weighted-average common shares outstanding used to compute diluted net income per share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">67,907&#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 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%">63,449&#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 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%">67,537&#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 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%">60,331&#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:400;line-height:100%">Net income per common share:</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 #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;text-align: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 net income per common share</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%">2.79&#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%">0.34&#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%">3.47&#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%">0.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:400;line-height:100%">Diluted net income per common share</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%">2.61&#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%">0.32&#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%">3.24&#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%">0.16&#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%">Potentially dilutive shares, weighted average</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,224&#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%">169&#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%">908&#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%">579&#160;</span></td><td style="background-color:#ffffff;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_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>nonnum: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>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125833448856">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Marketable Securities - (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Total cash and cash equivalents</a></td>
<td class="nump">$ 60,215<span></span>
</td>
<td class="nump">$ 80,807<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">128,492<span></span>
</td>
<td class="nump">52,982<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="top.Show.showAR( this, 'defref_calx_CashCashEquivalentsAndMarketableSecurities', window );">Cash, Cash Equivalents, and Marketable Securities</a></td>
<td class="nump">188,707<span></span>
</td>
<td class="nump">133,789<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=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="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [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="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">117,984<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="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USGovernmentAgenciesDebtSecuritiesMember', window );">U.S. government 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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [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="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">3,891<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="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember', window );">Corporate debt securities</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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [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="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">3,772<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="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USGovernmentDebtSecuritiesMember', window );">U.S. government 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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [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="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">1,520<span></span>
</td>
<td class="nump">52,982<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalNotesMember', window );">Municipal securities</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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [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="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">1,325<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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_CashMember', window );">Cash</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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Total cash and cash equivalents</a></td>
<td class="nump">30,609<span></span>
</td>
<td class="nump">30,745<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=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="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Total cash and cash equivalents</a></td>
<td class="nump">23,449<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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=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="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Total cash and cash equivalents</a></td>
<td class="nump">6,007<span></span>
</td>
<td class="nump">10,068<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_MunicipalNotesMember', window );">Municipal securities</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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Total cash and cash equivalents</a></td>
<td class="nump">150<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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_USGovernmentDebtSecuritiesMember', window );">U.S. government 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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Total cash and cash equivalents</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 39,994<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_calx_CashCashEquivalentsAndMarketableSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cash, Cash Equivalents, And Marketable Securities</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_CashCashEquivalentsAndMarketableSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount 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="top.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 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(6))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121558606&amp;loc=SL82898722-210454<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121553693&amp;loc=d3e26610-111562<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -URI http://asc.fasb.org/extlink&amp;oid=121645371&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&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 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<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.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_CashAndCashEquivalentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsLineItems</td>
</tr>
<tr>
<td style="padding-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_FinancialInstrumentAxis=us-gaap_CommercialPaperMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_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_FinancialInstrumentAxis=us-gaap_USGovernmentAgenciesDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_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_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember</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_FinancialInstrumentAxis=us-gaap_USGovernmentDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USGovernmentDebtSecuritiesMember</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_FinancialInstrumentAxis=us-gaap_MunicipalNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalNotesMember</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_CashAndCashEquivalentsAxis=us-gaap_CashMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_CashMember</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_CashAndCashEquivalentsAxis=us-gaap_CommercialPaperMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=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_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=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_CashAndCashEquivalentsAxis=us-gaap_MunicipalNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_MunicipalNotesMember</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_CashAndCashEquivalentsAxis=us-gaap_USGovernmentDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_USGovernmentDebtSecuritiesMember</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>41
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125842575864">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value Measures and Disclosures (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">$ 128,492<span></span>
</td>
<td class="nump">$ 52,982<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USGovernmentDebtSecuritiesMember', window );">U.S. government securities</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="top.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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">1,520<span></span>
</td>
<td class="nump">52,982<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=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="top.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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">117,984<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="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USGovernmentAgenciesDebtSecuritiesMember', window );">U.S. government agency securities</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="top.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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">3,891<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="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember', window );">Corporate debt 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="top.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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">3,772<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="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalNotesMember', window );">Municipal securities</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="top.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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">1,325<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="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring</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="top.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>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Total assets</a></td>
<td class="nump">158,098<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="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring | Level 1</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="top.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>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Total assets</a></td>
<td class="nump">7,527<span></span>
</td>
<td class="nump">103,044<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring | 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="top.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>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Total assets</a></td>
<td class="nump">150,571<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="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring | U.S. government securities</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="top.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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">1,520<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="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring | U.S. government securities | 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="top.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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">1,520<span></span>
</td>
<td class="nump">92,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="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring | U.S. government securities | Level 2</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="top.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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', 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="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring | 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="top.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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">141,433<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="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring | Commercial paper | Level 1</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="top.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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', 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="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring | Commercial paper | 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="top.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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">141,433<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="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring | U.S. government agency securities</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="top.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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">3,891<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="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring | U.S. government agency securities | 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="top.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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', 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="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring | U.S. government agency securities | Level 2</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="top.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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">3,891<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="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring | Corporate debt 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="top.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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">3,772<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="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring | Corporate debt securities | Level 1</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="top.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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', 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="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring | Corporate debt securities | 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="top.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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">3,772<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="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring | Municipal securities</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="top.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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">1,475<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="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring | Municipal securities | 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="top.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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', 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="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring | Municipal securities | Level 2</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="top.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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Marketable securities</a></td>
<td class="nump">1,475<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="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring | Money market funds</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="top.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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Money market funds</a></td>
<td class="nump">6,007<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="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring | Money market funds | Level 1</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="top.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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Money market funds</a></td>
<td class="nump">6,007<span></span>
</td>
<td class="nump">$ 10,068<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring | Money market funds | 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="top.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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Money market funds</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_AssetsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=117815213&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount 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="top.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 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(6))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121558606&amp;loc=SL82898722-210454<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121553693&amp;loc=d3e26610-111562<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -URI http://asc.fasb.org/extlink&amp;oid=121645371&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_FinancialInstrumentAxis=us-gaap_USGovernmentDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USGovernmentDebtSecuritiesMember</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_FinancialInstrumentAxis=us-gaap_CommercialPaperMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_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_FinancialInstrumentAxis=us-gaap_USGovernmentAgenciesDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_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_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember</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_FinancialInstrumentAxis=us-gaap_MunicipalNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalNotesMember</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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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_FairValueMeasurementsRecurringMember</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125832421992">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Balance Sheet Details - Accounts Receivable (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrentAbstract', window );"><strong>Summary of accounts receivable, net</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="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableGrossCurrent', window );">Accounts receivable</a></td>
<td class="nump">$ 92,703<span></span>
</td>
<td class="nump">$ 70,824<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for doubtful accounts</a></td>
<td class="num">(774)<span></span>
</td>
<td class="num">(1,405)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">$ 91,929<span></span>
</td>
<td class="nump">$ 69,419<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_AccountsReceivableGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=121593590&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 http://asc.fasb.org/extlink&amp;oid=121593590&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121593590&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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: 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 (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br><br>Reference 4: 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 http://asc.fasb.org/extlink&amp;oid=121593590&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_AccountsReceivableNetCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrentAbstract</td>
</tr>
<tr>
<td style="padding-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_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<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 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121611835&amp;loc=d3e5074-111524<br><br>Reference 3: 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 http://asc.fasb.org/extlink&amp;oid=121599878&amp;loc=SL82895884-210446<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125833619240">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Balance Sheet Details - Inventory (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNetAbstract', window );"><strong>Summary of inventory, net</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="top.Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsNetOfReserves', window );">Raw materials</a></td>
<td class="nump">$ 169<span></span>
</td>
<td class="nump">$ 34<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">74,997<span></span>
</td>
<td class="nump">52,234<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Total inventory</a></td>
<td class="nump">$ 75,166<span></span>
</td>
<td class="nump">$ 52,268<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_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<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)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<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(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_InventoryNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNetAbstract</td>
</tr>
<tr>
<td style="padding-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_InventoryRawMaterialsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<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)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125833412408">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Balance Sheet Details - Property and Equipment, net (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Summary of property and equipment, net</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">$ 66,832<span></span>
</td>
<td class="nump">$ 66,239<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated depreciation and amortization</a></td>
<td class="num">(45,872)<span></span>
</td>
<td class="num">(45,858)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">20,960<span></span>
</td>
<td class="nump">20,381<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Test 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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Summary of property and equipment, net</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">38,876<span></span>
</td>
<td class="nump">37,670<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=calx_SoftwareMember', window );">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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Summary of property and equipment, net</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">14,440<span></span>
</td>
<td class="nump">16,093<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember', window );">Computer 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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Summary of property and equipment, net</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">10,594<span></span>
</td>
<td class="nump">9,062<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Summary of property and equipment, net</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">1,733<span></span>
</td>
<td class="nump">2,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="top.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="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Summary of property and equipment, net</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">$ 1,189<span></span>
</td>
<td class="nump">$ 1,345<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.14)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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(14))<br> -URI http://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> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<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)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_PropertyPlantAndEquipmentNetByTypeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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=calx_SoftwareMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=calx_SoftwareMember</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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>45
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125833309608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Balance Sheet Details - Loss on Asset Retirement (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Sep. 28, 2019</div></th>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,543<span></span>
</td>
<td class="nump">$ 9,517<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsMiscellaneousNoncurrent', window );">Other long-term assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,471<span></span>
</td>
<td class="nump">2,648<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="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets, noncurrent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,014<span></span>
</td>
<td class="nump">12,165<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">61,444<span></span>
</td>
<td class="nump">68,736<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other long-term liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,006<span></span>
</td>
<td class="nump">13,137<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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember', window );">Licensed Software</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="top.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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RoyaltyGuaranteesCommitmentsAmount', window );">Royalty payment commitment</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">$ 15,800<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Intangible asset</a></td>
<td class="nump">$ 13,200<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="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilities', window );">Other Liabilities</a></td>
<td class="nump">$ 13,200<span></span>
</td>
<td class="nump">13,600<span></span>
</td>
<td class="nump">13,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Useful life</a></td>
<td class="text">5 years<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="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,400<span></span>
</td>
<td class="nump">2,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other long-term liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,200<span></span>
</td>
<td class="nump">$ 11,000<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_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-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_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://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 http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://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 http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_OtherAssetsMiscellaneousNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of other miscellaneous assets expected to be realized or consumed after one year or normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsMiscellaneousNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.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.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_OtherLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.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)<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.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.24)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RoyaltyGuaranteesCommitmentsAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount the entity has committed to make for future royalty guarantees.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 440<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6473578&amp;loc=d3e63223-108013<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RoyaltyGuaranteesCommitmentsAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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_ComputerSoftwareIntangibleAssetMember</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>46
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125863950504">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Balance Sheet Details - Accrued Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrentAbstract', window );"><strong>Summary of accrued 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="top.Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Compensation and related benefits</a></td>
<td class="nump">$ 14,261<span></span>
</td>
<td class="nump">$ 23,740<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualClassifiedCurrent', window );">Warranty and retrofit</a></td>
<td class="nump">10,126<span></span>
</td>
<td class="nump">9,208<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="top.Show.showAR( this, 'defref_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer', window );">Component inventory held by suppliers</a></td>
<td class="nump">4,606<span></span>
</td>
<td class="nump">3,992<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedProfessionalFeesCurrent', window );">Professional and consulting fees</a></td>
<td class="nump">4,595<span></span>
</td>
<td class="nump">4,497<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="top.Show.showAR( this, 'defref_calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes', window );">Taxes payable</a></td>
<td class="nump">4,482<span></span>
</td>
<td class="nump">3,476<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="top.Show.showAR( this, 'defref_calx_RevenueShareObligationCurrent', window );">Current portion of revenue share obligations</a></td>
<td class="nump">4,397<span></span>
</td>
<td class="nump">2,925<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="top.Show.showAR( this, 'defref_calx_AccruedCustomerRebates', window );">Customer advances or rebates</a></td>
<td class="nump">4,358<span></span>
</td>
<td class="nump">8,374<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating leases</a></td>
<td class="nump">3,151<span></span>
</td>
<td class="nump">2,994<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="top.Show.showAR( this, 'defref_calx_AccruedFreight', window );">Freight</a></td>
<td class="nump">2,587<span></span>
</td>
<td class="nump">1,955<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="top.Show.showAR( this, 'defref_calx_ProductReturnReserveCurrent', window );">Product returns</a></td>
<td class="nump">1,749<span></span>
</td>
<td class="nump">1,888<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringReserveCurrent', window );">Operations</a></td>
<td class="nump">1,286<span></span>
</td>
<td class="nump">950<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Other</a></td>
<td class="nump">5,846<span></span>
</td>
<td class="nump">4,737<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Total accrued liabilities</a></td>
<td class="nump">$ 61,444<span></span>
</td>
<td class="nump">$ 68,736<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_calx_AccruedCustomerRebates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accrued customer rebates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_AccruedCustomerRebates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accrued excess and obsolete inventory at contract manufacturer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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_calx_AccruedFreight">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accrued Freight</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_AccruedFreight</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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_calx_ProductReturnReserveCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Product Return Reserve, Current</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_ProductReturnReserveCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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_calx_RevenueShareObligationCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Revenue Share Obligation, Current</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_RevenueShareObligationCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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_calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Taxes Payable, Current, Excluding Accrued Income Taxes</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_AccruedLiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-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_AccruedProfessionalFeesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received. 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="top.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 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6911-107765<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 http://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 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedProfessionalFeesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://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 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6911-107765<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 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e7018-107765<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 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_ProductWarrantyAccrualClassifiedCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=68068213&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 http://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 http://asc.fasb.org/extlink&amp;oid=68070138&amp;loc=d3e11281-110244<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_RestructuringReserveCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of known and estimated obligations associated with exit from or disposal of business activities or restructurings pursuant to a duly authorized plan, which are expected to be paid in the next twelve months or in the normal operating cycle if longer. Costs of such activities include those for one-time termination benefits, termination of an operating lease or other contract, consolidating or closing facilities, relocating employees, and costs associated with an ongoing benefit arrangement, but excludes costs associated with the retirement of a long-lived asset.</p></div>
<a href="javascript:void(0);" onclick="top.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)<br> -URI http://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 http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringReserveCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>47
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125847085144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Balance Sheet Details - Warranty Reserve (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Sep. 26, 2020</div></th>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Sep. 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="top.Show.showAR( this, 'defref_us-gaap_MovementInStandardProductWarrantyAccrualRollForward', window );"><strong>Movement in Standard Product Warranty Accrual [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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrual', window );">Balance at beginning of period</a></td>
<td class="nump">$ 9,911<span></span>
</td>
<td class="nump">$ 7,732<span></span>
</td>
<td class="nump">$ 9,208<span></span>
</td>
<td class="nump">$ 7,294<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualWarrantiesIssued', window );">Provision for warranty and retrofit charged to cost of revenue</a></td>
<td class="nump">769<span></span>
</td>
<td class="nump">1,716<span></span>
</td>
<td class="nump">2,974<span></span>
</td>
<td class="nump">4,341<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualPayments', window );">Utilization of reserve</a></td>
<td class="num">(554)<span></span>
</td>
<td class="num">(892)<span></span>
</td>
<td class="num">(2,056)<span></span>
</td>
<td class="num">(3,079)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrual', window );">Balance at end of period</a></td>
<td class="nump">$ 10,126<span></span>
</td>
<td class="nump">$ 8,556<span></span>
</td>
<td class="nump">$ 10,126<span></span>
</td>
<td class="nump">$ 8,556<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_MovementInStandardProductWarrantyAccrualRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInStandardProductWarrantyAccrualRollForward</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=120398452&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 http://asc.fasb.org/extlink&amp;oid=68068213&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 http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in the standard and extended product warranty accrual from warranties issued.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>48
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125825257176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Balance Sheet Details - Restructuring (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Sep. 26, 2020</div></th>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Sep. 26, 2020</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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="top.Show.showAR( this, 'defref_us-gaap_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 6,286<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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>
<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="top.Show.showAR( this, 'defref_us-gaap_RestructuringReserve', window );">Balance as of December 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,376<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="top.Show.showAR( this, 'defref_us-gaap_PaymentsForRestructuring', window );">Cash payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(325)<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="top.Show.showAR( this, 'defref_us-gaap_RestructuringReserve', window );">Balance as of October 2, 2021</a></td>
<td class="nump">1,051<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,051<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,376<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringPlanAxis=calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember', window );">All Platform Future And Work-From-Anywhere Culture Alignment</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="top.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="top.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">6,300<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="top.Show.showAR( this, 'defref_calx_AssetWriteOff', window );">Asset, write-off</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">300<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="top.Show.showAR( this, 'defref_calx_AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff', window );">Accrued common areas maintenance fees and property taxes, write-off</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,400<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveAxis=us-gaap_FacilityClosingMember', window );">Facilities</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="top.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>
<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="top.Show.showAR( this, 'defref_us-gaap_RestructuringReserve', window );">Balance as of December 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,244<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="top.Show.showAR( this, 'defref_us-gaap_PaymentsForRestructuring', window );">Cash payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(193)<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="top.Show.showAR( this, 'defref_us-gaap_RestructuringReserve', window );">Balance as of October 2, 2021</a></td>
<td class="nump">1,051<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,051<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,244<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveAxis=us-gaap_FacilityClosingMember', window );">Facilities | Richardson, Texas and San Jose, California</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="top.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="top.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">3,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="top.Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveAxis=us-gaap_EmployeeSeveranceMember', window );">Severance and Related 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="top.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>
<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="top.Show.showAR( this, 'defref_us-gaap_RestructuringReserve', window );">Balance as of December 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">132<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="top.Show.showAR( this, 'defref_us-gaap_PaymentsForRestructuring', window );">Cash payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(132)<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="top.Show.showAR( this, 'defref_us-gaap_RestructuringReserve', window );">Balance as of October 2, 2021</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 132<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_calx_AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accrued Common Areas Maintenance Fees And Property Taxes, Write Off</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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_calx_AssetWriteOff">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Asset Write Off</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_AssetWriteOff</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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_PaymentsForRestructuring">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3367-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://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> -Subparagraph (b)<br> -URI http://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 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 4: 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))<br> -URI http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_RestructuringReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://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))<br> -URI http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_RestructuringPlanAxis=calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringPlanAxis=calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember</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_FacilityClosingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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_FacilityClosingMember</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=calx_RichardsonTexasAndSanJoseCaliforniaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=calx_RichardsonTexasAndSanJoseCaliforniaMember</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125833444824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Credit Agreements - Line of Credit (Details) - Bank Of America<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th">
<div>Oct. 02, 2021 </div>
<div>USD ($)</div>
</th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=calx_BankOfAmericaMember', window );">Revolving Credit Facility</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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Revolving credit facility, maximum capacity</a></td>
<td class="nump">$ 35,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="top.Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Outstanding borrowings</a></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="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Line of credit, amount available</a></td>
<td class="nump">35,000,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=calx_BankOfAmericaMember', window );">Letter of Credit</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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Revolving credit facility, maximum capacity</a></td>
<td class="nump">$ 10,000,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=calx_BankOfAmericaMember', window );">London Interbank Offered Rate (LIBOR) | Revolving Credit Facility</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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage', window );">Interest rate</a></td>
<td class="nump">3.75%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=calx_BankOfAmericaMember', window );">London Interbank Offered Rate (LIBOR) | Minimum | Revolving Credit Facility</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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="nump">1.50%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=calx_BankOfAmericaMember', window );">London Interbank Offered Rate (LIBOR) | Maximum | Revolving Credit Facility</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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="nump">2.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=calx_BankOfAmericaMember', window );">Prime Rate | Minimum | Revolving Credit Facility</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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="nump">0.50%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=calx_BankOfAmericaMember', window );">Prime Rate | Maximum | Revolving Credit Facility</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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="nump">1.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage points added to the reference rate to compute the variable rate on the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_DebtInstrumentInterestRateEffectivePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120520924&amp;loc=SL6036836-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=119993939&amp;loc=d3e28551-108399<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.22(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateEffectivePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-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_LineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="top.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(22))<br> -URI http://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(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&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(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="top.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(b),22(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).</p></div>
<a href="javascript:void(0);" onclick="top.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(b),22(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LineOfCreditFacilityAxis=calx_BankOfAmericaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityAxis=calx_BankOfAmericaMember</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_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</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_CreditFacilityAxis=us-gaap_LetterOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_LetterOfCreditMember</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_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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_VariableRateAxis=us-gaap_PrimeRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_PrimeRateMember</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>50
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125833491704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies - Textual (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Sep. 26, 2020</div></th>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Sep. 26, 2020</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Commitments and Contingencies [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="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">$ 16,766<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 16,766<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="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average operating discount rate used to determine the operating lease liability (percent)</a></td>
<td class="nump">6.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6.50%<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="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average remaining lease term for operating lease</a></td>
<td class="text">4 years 1 month 6 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years 1 month 6 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseExpense', window );">Rent expense</a></td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="nump">$ 900<span></span>
</td>
<td class="nump">$ 3,100<span></span>
</td>
<td class="nump">$ 3,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Operating lease, payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,900<span></span>
</td>
<td class="nump">$ 2,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted', window );">Outstanding purchase commitments</a></td>
<td class="nump">184,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">184,100<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="top.Show.showAR( this, 'defref_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer', window );">Accrued customer rebates/prepayments</a></td>
<td class="nump">4,606<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,606<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,992<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=calx_SanJoseCaliforniaMember', window );">San Jose, California</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="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Commitments and Contingencies [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="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">$ 10,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,200<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_calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accrued excess and obsolete inventory at contract manufacturer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_LossContingenciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingenciesLineItems</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of operating lease expense. Excludes sublease income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/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 http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918638-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121603541&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 http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 http://asc.fasb.org/extlink&amp;oid=121609121&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 http://asc.fasb.org/extlink&amp;oid=121568110&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>num: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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121568110&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 http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Minimum amount to be expended to satisfy the terms of arrangements in which the entity has agreed to expend funds to procure goods or services, excluding long-term purchase commitments or unconditional purchase obligations.</p></div>
<a href="javascript:void(0);" onclick="top.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(17))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&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 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<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(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_srt_StatementGeographicalAxis=calx_SanJoseCaliforniaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=calx_SanJoseCaliforniaMember</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>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125834512424">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Commitments and Contingencies - Operating Leases (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Oct. 02, 2021 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear', window );">Remainder of 2021</a></td>
<td class="nump">$ 1,005<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2022</a></td>
<td class="nump">4,014<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2023</a></td>
<td class="nump">4,157<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2024</a></td>
<td class="nump">3,962<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2025</a></td>
<td class="nump">3,453<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="top.Show.showAR( this, 'defref_calx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour', window );">Thereafter</a></td>
<td class="nump">175<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">16,766<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less imputed interest</a></td>
<td class="num">(2,099)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liability</a></td>
<td class="nump">$ 14,667<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_calx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lessee, Operating Lease, Liability, To Be Paid, After Year Four</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125825981976">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Commitments and Contingencies - Operating Lease Liability (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies 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="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Accrued liabilities - current portion of operating leases</a></td>
<td class="nump">$ 3,151<span></span>
</td>
<td class="nump">$ 2,994<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating leases</a></td>
<td class="nump">11,516<span></span>
</td>
<td class="nump">$ 12,946<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liability</a></td>
<td class="nump">$ 14,667<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList', window );">Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]</a></td>
<td class="text">Accrued Liabilities, Current<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_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicates line item in statement of financial position that includes current operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918631-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>srt-types:extensibleListItemType</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_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>53
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125827652712">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Stockholders' Equity - 2019 Equity Incentive Award Plan (Details) - 2019 Equity Incentive Award Plan<br> shares in Millions</strong></div></th>
<th class="th">
<div>Oct. 02, 2021 </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="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares', window );">Shares available for issuance, additional shares (in shares)</a></td>
<td class="nump">3.8<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Shares available for future grant (in shares)</a></td>
<td class="nump">7.0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant, Additional Shares</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.</p></div>
<a href="javascript:void(0);" onclick="top.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> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=calx_A2019EquityIncentiveAwardPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=calx_A2019EquityIncentiveAwardPlanMember</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>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125842611192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Stock Options (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 28, 2021</div></th>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Sep. 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="top.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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Stock options granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">600,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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted-average grant date fair value (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 39.38<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 18,055<span></span>
</td>
<td class="nump">$ 9,800<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">400,000<span></span>
</td>
<td class="nump">1,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted-average exercise price per share, stock options (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6.98<span></span>
</td>
<td class="nump">$ 8.20<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Recognition period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years 2 months 12 days<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="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=calx_A2021PerformanceTargetsMember', window );">2021 Performance Targets | Stock Options | Period One</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="top.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="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Award vesting rights, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25.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="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=calx_A2021PerformanceTargetsMember', window );">2021 Performance Targets | Stock Options | Period Two</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="top.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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Award vesting period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 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="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=calx_A2021PerformanceTargetsMember', window );">2021 Performance Targets | Performance Based Stock Options | Executive Officer</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="top.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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Stock options granted (in shares)</a></td>
<td class="nump">700,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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted-average grant date fair value (in dollars per share)</a></td>
<td class="nump">$ 36.74<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1', window );">Award performance period</a></td>
<td class="text">1 year<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent', window );">Net income per share, target achievement performance threshold, percent</a></td>
<td class="nump">80.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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent', window );">Bookings, target achievement performance threshold, percent</a></td>
<td class="nump">90.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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet', window );">Number of shares granted if no-GAAP income below 80% and bookings below 90% of target (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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent', window );">Shares award weighting percent</a></td>
<td class="nump">50.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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent', window );">Target achievement threshold for shares award sliding scale</a></td>
<td class="nump">100.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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,900<span></span>
</td>
<td class="nump">$ 4,800<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="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=calx_A2021PerformanceTargetsMember', window );">2021 Performance Targets | Performance Based Stock Options | Period One | Executive Officer</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="top.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="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Award vesting rights, percentage</a></td>
<td class="nump">25.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>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=calx_A2021PerformanceTargetsMember', window );">2021 Performance Targets | Performance Based Stock Options | Period Two | Executive Officer</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="top.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="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Award vesting rights, percentage</a></td>
<td class="nump">75.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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Award vesting period</a></td>
<td class="text">36 months<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_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-Based Compensation Arrangement By Share-Based Payment Award, Bookings, Target Achievement Performance Threshold, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-Based Compensation Arrangement By Share-Based Payment Award, Net Income Per Share, Target Achievement Performance Threshold, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Granted If Target Achievement Performance Threshold Not Met</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Threshold, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Weighting Percent For Target Achievement Performance Threshold, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Estimated period over which an employee is required to provide service in exchange for the equity-based payment award, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.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 (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="top.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 (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="top.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 (d)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of vesting of award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.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 (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.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)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<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 http://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 http://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 http://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 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=calx_A2021PerformanceTargetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=calx_A2021PerformanceTargetsMember</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_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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_EmployeeStockOptionMember</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_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember</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_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember</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=calx_PerformanceBasedStockOptionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=calx_PerformanceBasedStockOptionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember</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>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125833885864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Employee Stock Purchase Plans (Details)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Jul. 03, 2021 </div>
<div>shares</div>
</th>
<th class="th">
<div>Oct. 02, 2021 </div>
<div>USD ($) </div>
<div>Plan </div>
<div>period </div>
<div>shares</div>
</th>
<th class="th">
<div>Jul. 02, 2021 </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="top.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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_calx_NumberOfEmployeeStockPurchasePlans', window );">Number of employee stock purchase plans | Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Recognition period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years 2 months 12 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions', window );">Unrecognized stock-based compensation expense, stock options | $</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 27.6<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="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=calx_A2017NonqualifiedEmployeeStockPurchasePlanMember', window );">2017 Nonqualified Employee Stock Purchase Plan</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="top.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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized', window );">Number of additional shares authorized (in shares)</a></td>
<td class="nump">800,000<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Number of shares authorized (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,500,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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Shares available for future grant (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,900,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan', window );">Shares purchased under ESPP (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200,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="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Recognition period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 months 24 days<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="top.Show.showAR( this, 'defref_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent', window );">Maximum contribution percent (up to 25%)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25.00%<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="top.Show.showAR( this, 'defref_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture', window );">Employee termination period following purchase date to receive shares subject to risk of forfeiture</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year<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="top.Show.showAR( this, 'defref_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods', window );">Number of offering periods | period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<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="top.Show.showAR( this, 'defref_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod', window );">Offering period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">6 months<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="top.Show.showAR( this, 'defref_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod', window );">Number of shares authorized per purchase period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">500,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="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions', window );">Unrecognized stock-based compensation expense, stock options | $</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4.8<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="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockMember', window );">Employee Stock Purchase Plan</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="top.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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate', window );">ESPP, maximum employee payroll deduction percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee', window );">ESPP, maximum number of shares per employee (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,000<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="top.Show.showAR( this, 'defref_calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod', window );">Offering period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">6 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent', window );">ESPP, discounted purchase price percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">85.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized', window );">Number of additional shares authorized (in shares)</a></td>
<td class="nump">1,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Number of shares authorized (in shares)</a></td>
<td class="nump">11,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,800,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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Shares available for future grant (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,600,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="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan', window );">Shares purchased under ESPP (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Unrecognized stock-based compensation expense | $</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Recognition period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 months 24 days<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="top.Show.showAR( this, 'defref_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod', window );">Offering period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">6 months<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_calx_NumberOfEmployeeStockPurchasePlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number Of Employee Stock Purchase Plans</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_NumberOfEmployeeStockPurchasePlans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-Based Compensation Arrangement By Share-Based Payment Award, Employee Termination Period Following Purchase Date To Receive Shares Subject To Risk Of Forfeiture</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-Based Compensation Arrangement By Share-Based Payment Award, Maximum Contribution Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Offering Periods</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Authorized Per Purchase Period</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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_calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-Based Compensation Arrangement By Share-Based Payment Award, Offering Period</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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_calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Offering Period</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cost to be recognized for option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The highest percentage of annual salary that an employee is permitted to utilize with respect to the plan.</p></div>
<a href="javascript:void(0);" onclick="top.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> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The highest quantity of shares an employee can purchase under the plan per period.</p></div>
<a href="javascript:void(0);" onclick="top.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> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of additional shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.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 (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.</p></div>
<a href="javascript:void(0);" onclick="top.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> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Purchase price of common stock expressed as a percentage of its fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of capital stock issued (purchased by employees) in connection with an employee stock ownership plan.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://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 http://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 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://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 718<br> -SubTopic 40<br> -Section 25<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=109244457&amp;loc=d3e16649-113920<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=calx_A2017NonqualifiedEmployeeStockPurchasePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=calx_A2017NonqualifiedEmployeeStockPurchasePlanMember</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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>56
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125830136616">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Stock-Based Compensation Expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Sep. 26, 2020</div></th>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Sep. 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="top.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="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation</a></td>
<td class="nump">$ 6,661<span></span>
</td>
<td class="nump">$ 3,574<span></span>
</td>
<td class="nump">$ 18,055<span></span>
</td>
<td class="nump">$ 9,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="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=calx_CostOfRevenueProductsMember', window );">Products</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="top.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="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation</a></td>
<td class="nump">211<span></span>
</td>
<td class="nump">159<span></span>
</td>
<td class="nump">559<span></span>
</td>
<td class="nump">392<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=calx_CostOfRevenueServicesMember', window );">Services</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="top.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="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation</a></td>
<td class="nump">177<span></span>
</td>
<td class="nump">103<span></span>
</td>
<td class="nump">483<span></span>
</td>
<td class="nump">308<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingAndMarketingExpenseMember', window );">Sales and marketing</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="top.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="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation</a></td>
<td class="nump">1,791<span></span>
</td>
<td class="nump">1,035<span></span>
</td>
<td class="nump">4,961<span></span>
</td>
<td class="nump">2,994<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation</a></td>
<td class="nump">1,803<span></span>
</td>
<td class="nump">1,237<span></span>
</td>
<td class="nump">5,031<span></span>
</td>
<td class="nump">3,344<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember', window );">General and administrative</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="top.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="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation</a></td>
<td class="nump">$ 2,679<span></span>
</td>
<td class="nump">$ 1,040<span></span>
</td>
<td class="nump">$ 7,021<span></span>
</td>
<td class="nump">$ 2,762<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="top.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 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<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 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=115993241&amp;loc=d3e301413-122809<br><br>Reference 3: 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)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_IncomeStatementLocationAxis=calx_CostOfRevenueProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=calx_CostOfRevenueProductsMember</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=calx_CostOfRevenueServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=calx_CostOfRevenueServicesMember</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_SellingAndMarketingExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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_SellingAndMarketingExpenseMember</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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_GeneralAndAdministrativeExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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_GeneralAndAdministrativeExpenseMember</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>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125833446920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue from Contracts with Customers - Revenue (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Sep. 26, 2020</div></th>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Sep. 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="top.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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenues</a></td>
<td class="nump">$ 172,231<span></span>
</td>
<td class="nump">$ 150,508<span></span>
</td>
<td class="nump">$ 502,975<span></span>
</td>
<td class="nump">$ 371,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="top.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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenues</a></td>
<td class="nump">136,312<span></span>
</td>
<td class="nump">129,205<span></span>
</td>
<td class="nump">414,246<span></span>
</td>
<td class="nump">326,063<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=calx_AmericasExUSMember', window );">Americas ex U.S.</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="top.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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenues</a></td>
<td class="nump">11,800<span></span>
</td>
<td class="nump">7,032<span></span>
</td>
<td class="nump">37,660<span></span>
</td>
<td class="nump">18,969<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenues</a></td>
<td class="nump">19,443<span></span>
</td>
<td class="nump">9,183<span></span>
</td>
<td class="nump">32,701<span></span>
</td>
<td class="nump">15,414<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=calx_MiddleEastAndAfricaMember', window );">Middle East &amp; Africa</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="top.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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenues</a></td>
<td class="nump">3,905<span></span>
</td>
<td class="nump">4,537<span></span>
</td>
<td class="nump">16,165<span></span>
</td>
<td class="nump">9,171<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_AsiaPacificMember', window );">Asia Pacific</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="top.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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenues</a></td>
<td class="nump">$ 771<span></span>
</td>
<td class="nump">$ 551<span></span>
</td>
<td class="nump">$ 2,203<span></span>
</td>
<td class="nump">$ 1,596<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, including 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="top.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 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9038-108599<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 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130545-203045<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 (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&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 (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&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 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-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 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-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 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&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 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130543-203045<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 http://asc.fasb.org/extlink&amp;oid=120311839&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 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9031-108599<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 http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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=calx_AmericasExUSMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=calx_AmericasExUSMember</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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=calx_MiddleEastAndAfricaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=calx_MiddleEastAndAfricaMember</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_AsiaPacificMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_AsiaPacificMember</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>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125830774856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue from Contracts with Customers - Contract Asset and Liability (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNet', window );">Contract with customer, asset</a></td>
<td class="nump">$ 1,200<span></span>
</td>
<td class="nump">$ 1,200<span></span>
</td>
<td class="nump">$ 2,300<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="top.Show.showAR( this, 'defref_calx_ContractwithCustomerAssetPriorPeriodNotRecognized', window );">Contract with customer, asset, prior period, not recognized</a></td>
<td class="nump">$ 300<span></span>
</td>
<td class="nump">$ 300<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="top.Show.showAR( this, 'defref_calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent', window );">Contract with customer, asset, expected to be billed remainder of year, percent</a></td>
<td class="nump">55.00%<span></span>
</td>
<td class="nump">55.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue, current</a></td>
<td class="nump">$ 24,217<span></span>
</td>
<td class="nump">$ 24,217<span></span>
</td>
<td class="nump">19,189<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityNoncurrent', window );">Deferred revenue, current</a></td>
<td class="nump">21,568<span></span>
</td>
<td class="nump">21,568<span></span>
</td>
<td class="nump">19,904<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Deferred revenue</a></td>
<td class="nump">45,785<span></span>
</td>
<td class="nump">45,785<span></span>
</td>
<td class="nump">39,093<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Contract with customer, liability, revenue recognized</a></td>
<td class="nump">8,600<span></span>
</td>
<td class="nump">17,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="top.Show.showAR( this, 'defref_us-gaap_DeferredRevenueArrangementTypeAxis=calx_ProductAndServicesMember', window );">Products and services</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="top.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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue, current</a></td>
<td class="nump">19,465<span></span>
</td>
<td class="nump">19,465<span></span>
</td>
<td class="nump">14,651<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityNoncurrent', window );">Deferred revenue, current</a></td>
<td class="nump">2,639<span></span>
</td>
<td class="nump">2,639<span></span>
</td>
<td class="nump">1,879<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredRevenueArrangementTypeAxis=calx_ExtendedWarrantyMember', window );">Extended warranty</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="top.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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue, current</a></td>
<td class="nump">4,752<span></span>
</td>
<td class="nump">4,752<span></span>
</td>
<td class="nump">4,538<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityNoncurrent', window );">Deferred revenue, current</a></td>
<td class="nump">$ 18,929<span></span>
</td>
<td class="nump">$ 18,929<span></span>
</td>
<td class="nump">$ 18,025<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contract With Customer, Asset, Expected To Be Billed Remainder Of Year, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_calx_ContractwithCustomerAssetPriorPeriodNotRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contract with Customer, Asset, Prior Period, Not Recognized</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">calx_ContractwithCustomerAssetPriorPeriodNotRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>calx_</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_ContractWithCustomerAssetNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121604090&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 http://asc.fasb.org/extlink&amp;oid=121556615&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 http://asc.fasb.org/extlink&amp;oid=121556615&amp;loc=SL49130533-203044<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121556615&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 http://asc.fasb.org/extlink&amp;oid=121604090&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 http://asc.fasb.org/extlink&amp;oid=121556615&amp;loc=SL49130532-203044<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.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 http://asc.fasb.org/extlink&amp;oid=121556615&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 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121556615&amp;loc=SL49130532-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 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121556615&amp;loc=SL49130532-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 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121556615&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 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_DeferredRevenueArrangementTypeAxis=calx_ProductAndServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueArrangementTypeAxis=calx_ProductAndServicesMember</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_DeferredRevenueArrangementTypeAxis=calx_ExtendedWarrantyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueArrangementTypeAxis=calx_ExtendedWarrantyMember</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>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125827748200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue from Contracts with Customers - Contract Costs (Details)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Oct. 02, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Oct. 02, 2021 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostGross', window );">Capitalized contract cost, gross</a></td>
<td class="nump">$ 4,000,000<span></span>
</td>
<td class="nump">$ 4,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="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostAmortization', window );">Capitalized contract cost, amortization</a></td>
<td class="nump">400,000<span></span>
</td>
<td class="nump">700,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="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostImpairmentLoss', window );">Capitalized contract cost, impairment</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_CapitalizedContractCostAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=68051541&amp;loc=SL49131252-203054<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CapitalizedContractCostGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=68051541&amp;loc=SL49131252-203054<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CapitalizedContractCostImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of impairment loss for asset recognized from cost incurred to obtain or fulfill contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=68051541&amp;loc=SL49131252-203054<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125825962792">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Revenue from Contracts with Customers - Performance Obligations (Details)<br> $ in Millions</strong></div></th>
<th class="th">
<div>Oct. 02, 2021 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Remaining performance obligation, amount</a></td>
<td class="nump">$ 105.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="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2021-10-03', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-10-03</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="top.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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationPercentage', window );">Remaining performance obligation, percentage</a></td>
<td class="nump">34.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Performance obligations expected to be satisfied, expected timing</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_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/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 http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>num: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=2021-10-03">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2021-10-03</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>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125828009432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue from Contracts with Customers - Concentration Risk (Details) - Customer Concentration Risk - Revenue<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Sep. 26, 2020</div></th>
<th class="th"><div>Sep. 26, 2020</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=calx_OneCustomerMember', window );">One Customer</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="top.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="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=calx_LumenTechnologiesIncMember', window );">Lumen Technologies, Inc.</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="top.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="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12.00%<span></span>
</td>
<td class="nump">14.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://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 http://asc.fasb.org/extlink&amp;oid=121572278&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 http://asc.fasb.org/extlink&amp;oid=121572278&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 http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>num: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_srt_MajorCustomersAxis=calx_OneCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=calx_OneCustomerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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_RevenueFromContractWithCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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=calx_LumenTechnologiesIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=calx_LumenTechnologiesIncMember</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>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125833986376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Sep. 26, 2020</div></th>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Sep. 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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income taxes</a></td>
<td class="num">$ (159,982)<span></span>
</td>
<td class="nump">$ 149<span></span>
</td>
<td class="num">$ (159,625)<span></span>
</td>
<td class="nump">$ 626<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="num">(917.20%)<span></span>
</td>
<td class="nump">0.70%<span></span>
</td>
<td class="num">(271.10%)<span></span>
</td>
<td class="nump">6.30%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Discrete tax benefit</a></td>
<td class="nump">$ 162,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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="nump">$ 28,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 28,700<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_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=116825942&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 http://asc.fasb.org/extlink&amp;oid=84230637&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 http://asc.fasb.org/extlink&amp;oid=120311839&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 http://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 http://asc.fasb.org/extlink&amp;oid=109234566&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 http://asc.fasb.org/extlink&amp;oid=120385591&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 http://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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>63
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.21.2</span><table class="report" border="0" cellspacing="2" id="idm140125833483768">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Income Per Common Share - (Details) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Sep. 26, 2020</div></th>
<th class="th"><div>Oct. 02, 2021</div></th>
<th class="th"><div>Sep. 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="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLossAbstract', window );"><strong>Numerator:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 177,424<span></span>
</td>
<td class="nump">$ 20,538<span></span>
</td>
<td class="nump">$ 218,497<span></span>
</td>
<td class="nump">$ 9,382<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract', window );"><strong>Denominator:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted-average common shares outstanding used to compute basic net income (loss) per share (in shares)</a></td>
<td class="nump">63,588<span></span>
</td>
<td class="nump">60,307<span></span>
</td>
<td class="nump">63,057<span></span>
</td>
<td class="nump">58,053<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Effect of dilutive common stock equivalents (in shares)</a></td>
<td class="nump">4,319<span></span>
</td>
<td class="nump">3,142<span></span>
</td>
<td class="nump">4,480<span></span>
</td>
<td class="nump">2,278<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted-average common shares outstanding used to compute diluted net income (loss) per share (in shares)</a></td>
<td class="nump">67,907<span></span>
</td>
<td class="nump">63,449<span></span>
</td>
<td class="nump">67,537<span></span>
</td>
<td class="nump">60,331<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic net income per common share (in dollars per share)</a></td>
<td class="nump">$ 2.79<span></span>
</td>
<td class="nump">$ 0.34<span></span>
</td>
<td class="nump">$ 3.47<span></span>
</td>
<td class="nump">$ 0.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="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted net income per common share (in dollars per share)</a></td>
<td class="nump">$ 2.61<span></span>
</td>
<td class="nump">$ 0.32<span></span>
</td>
<td class="nump">$ 3.24<span></span>
</td>
<td class="nump">$ 0.16<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Potentially dilutive shares, weighted average (in shares)</a></td>
<td class="nump">1,224<span></span>
</td>
<td class="nump">169<span></span>
</td>
<td class="nump">908<span></span>
</td>
<td class="nump">579<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The 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="top.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 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<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 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-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 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1448-109256<br><br>Reference 4: 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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<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 (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&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 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1337-109256<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=120380238&amp;loc=d3e4984-109258<br><br>Reference 8: 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 http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 9: 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 http://asc.fasb.org/extlink&amp;oid=120380238&amp;loc=d3e3842-109258<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 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22644-107794<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 http://asc.fasb.org/extlink&amp;oid=6371337&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 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<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 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1252-109256<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 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 15: 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 http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>num: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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The 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="top.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 http://asc.fasb.org/extlink&amp;oid=120380238&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 http://asc.fasb.org/extlink&amp;oid=109234566&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 http://asc.fasb.org/extlink&amp;oid=120380238&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 http://asc.fasb.org/extlink&amp;oid=121326447&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 http://asc.fasb.org/extlink&amp;oid=109234566&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 http://asc.fasb.org/extlink&amp;oid=109234566&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 http://asc.fasb.org/extlink&amp;oid=109234566&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 http://asc.fasb.org/extlink&amp;oid=121326447&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 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 10: 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 http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 11: 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 http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<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 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-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 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1337-109256<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 http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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>num: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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 45<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1707-109256<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 (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&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> -SubTopic 10<br> -Section 45<br> -Paragraph 28A<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1500-109256<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 23<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1757-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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_NetIncomeLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAbstract</td>
</tr>
<tr>
<td style="padding-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_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<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 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br><br>Reference 3: 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 http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 4: 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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<br><br>Reference 5: 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 http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 6: 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 1A<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 8: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br><br>Reference 9: 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 http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669625-108580<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 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22663-107794<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 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-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 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 13: 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 1A<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 14: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI http://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 15: 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 http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 16: 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 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3000-108585<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 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569616-111683<br><br>Reference 18: 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 http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<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 (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI http://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 21: 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 http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The 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="top.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 http://asc.fasb.org/extlink&amp;oid=6371337&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 http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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="top.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 http://asc.fasb.org/extlink&amp;oid=6371337&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 http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract</td>
</tr>
<tr>
<td style="padding-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>EXCEL
<SEQUENCE>64
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M<*E^_26%M/:A/87J9Q^I:$\JZB<5U Z[O:],3P?H'3["- )P2005;<,_H.@
MEB52*R9-:='HE9#%WWSQ =7BY]="*<.2MNYHM-+P8+8J4R:[7.=:W,'.V-T&
MM%90X//*?'07^;OIL]$WI*/7Y&5(>C)2/QG-FH.\.!H/V*5C$8F#@R2@_R4J
M!ZU93 \(?5O[MT704;=%V1#>3JLH&(ECSV[J9_?98E$8PD":,>7I85&CG*T+
M2#M.J3:>LS1,@V HUF$7IC@:.1#1GN/4SW$X$#554S+-N^)95+"=5^8R<\,A
ML2MWCK11?4CM-.ZP(ME(!17T. _\.-\7#10O\L)9E08VE0_#"$>9=0?E,(SC
M#&<C9^V@!WC@!_B6-VHTG3EEVZ2.@BBFP^ Z[&B* SJR)H(>Z8$?Z18DV\WX
M+P=![=L_5Y7CL'-6.=.]6V!S!?^5R?NB5G N6D)#?)1 &.3V5GO[HL6ZO1B^
M$UJ+JGU<<0;BC0'\OA1 T-V+N6ON_F]A]@]02P,$%     @ (8!:4S4QKW?F
M @  Q0D  !@   !X;"]W;W)K<VAE971S+W-H965T,RYX;6RE5EUOVC 4_2M6
MM(=6ZHB3 *%50*) U4I=BTJW/4Q[,(DA5AT[LQWH]NMG.VD&Y;OC ?QQS[GG
MW-Q@1TLN7F2*L0*O&66RZZ1*Y5>N*^,49T@V>(Z9WIEQD2&EIV+NREQ@E%A0
M1ET?PK:;(<*<7F37QJ(7\4)1PO!8 %ED&1*_KS'ERZ[C.6\+3V2>*K/@]J(<
MS?$$JZ_Y6.B96[,D),-,$LZ P+.NT_>N!AXT !OQC>"E7!D#8V7*^8N9W"5=
M!QI%F.)8&0JD?Q9X@"DU3%K'KXK4J7,:X.KXC?W&FM=FIDCB :??2:+2KM-Q
M0()GJ*#JB2]O<66H9?AB3J7]!LLRMATZ("ZDXED%U@HRPLI?]%H58@7@-7<
M_ K@'PL(*D!@C9;*K*TA4J@7";X$PD1K-C.PM;%H[88P\Q@G2NA=HG&J-WA\
M&(X>)J,AT*/)X_W=L/^L)]?]^_[#8 0FMZ/1\P2<C9' 3*58D1C1<_ 9? (N
MD*E>E9&KM [#YL95SNLRI[\CYV.L&@#Z%\"'OK<%/M@/'^*X 0+/PN$ZW-7N
MZQ+X=0E\RQ?LX)LHI+#N3 7X#-P0AEA,$ 5C+HGMM!_]J51"]]O//<F".EE@
MDS5W)!OK+L5"X 3H1QN_7( <";! M,#@C#"0<$J1D"#'HBSO^;;REBE"F\*\
MIXL>;$"_%;F+U2H>BEK3WZSU-T_37S8!0(5*N2!_](;Q4:YN%5_RMU9DM:#]
MO)-_.&[-0*LVT/J0 2)E<5A\:T/4>]G[(M8$MVO![0\)UO_)4B&6$#8_I+I]
M4/6^B#758:TZW*MZP+-,OSO_T>3A44U^*&I-?*<6WSE!_,D=WMDHI@?AUAX_
M)G+-P67MX/)T!\>U^.6&IG80!OZF^"V!ON?[.[5[\-^9!$]7?T*_5_1'>-@6
MN=V$NW+&F@O.%R3FA$E \4Q#82/4'**\,Y03Q7-[[$ZYTH>X':;ZGH6%"=#[
M,\[5V\2<Y/7-K?<74$L#!!0    ( "& 6E/[B*GND@<  -@A   8    >&PO
M=V]R:W-H965T<R]S:&5E=#0N>&ULK5K;;MLX$/T5PMB'%FAB7G4)D@"-K6X#
M;),@3MMGQ:9M;271*]%)^_=+R8IEDR.FN^U+(LJ'0Y[A:.:0TOFSJK[5:RDU
M^E[D97TQ6FN].1N/Z_E:%FE]JC:R-+\L556DVC2KU;C>5#)=M)V*?$PQ#L9%
MFI6CR_/VWEUU>:ZV.L]*>5>A>EL4:?7C2N;J^6)$1B\W[K/56C<WQI?GFW0E
M9U)_WMQ5IC7>6UEDA2SK3)6HDLN+T7MREG#<=&@17S+Y7!]<HX;*HU+?FL;U
MXF*$FQG)7,YU8R(U_Y[D1.9Y8\G,XY_.Z&@_9M/Q\/K%^H>6O"'SF-9RHO*O
MV4*O+T;1""WD,MWF^EX]?Y0=(='8FZN\;O^BYPZ+1VB^K;4JNLYF!D56[OZG
MWSM'''0P=N .M.M [0Y\H /K.K"?'8%W'?C/CB"Z#BWU\8Y[Z[AIJM/+\TH]
MHZI!&VO-1>O]MK?Q5U8V@3+3E?DU,_WTY>3V9IK<S)(I,E>SV[^NI^\?3&/V
M8/Y]2FX>9NCV@_GIT]U]\M'@KK\DZ/K&M!-T@C[/INC-'V]1O4XK6:.L1 ]K
MM:W3<E&_0W\<M<_'VDRV&7(\[R9VM9L8'9@80Y]4J=<U2LJ%7 #]I_[^L:?_
MV#AI[RGZXJDKZC5X.]>G"--WB&)*@/E,_-UG<G.*:-!VQQ"=7QL]^=^C'SF#
M[<.&M?;8@+U[^23+K3SSF.)[4[PUQ?VFH C9=0S:CDW&>[HD(:7,\'\Z=#P
M$UC@Z!@V=6$"TS@4Q[#$A;&04,+VL".68L]2>!TV4;5&:FERZZN."_8F Z_C
M+).0 W<&Q &7B(;,<LS$185<,&:YST51%@;46HS$A9&841S#[@OW7$,OUS\K
M5==H4ZEEIB&BH4LTYK%%8>*B0N$$P-1%T4 PP2VB+HR$$<8<)AKMB4;>.+G=
MR"K56;E"\KL1 [6L?:$2[ZW&7O?-TMPD:).(3>FHOLG&/N3%V*'$".$6\8F+
MH@R'L>5%%Q5%,;8?-A<5",P#V(<$]T4-OY)3:IE6\W5+>6&>CUQMC+H!0Z<S
M=<1'A#2T6$,PS$([R0"P4$38LI8 L(#$(1X@?E#-B?\YD:6)G[SEG2Z,7LAJ
MW<33$Y@>.F-',<P#)[]",!P&#G47Q@FCV*;NPA@-V!!UVE.GKZVYKK9SO:V:
MIV=N-,E*PKJ#.A/ -N-7(=/7(0D "6@T%-Q]Z27,2_1!:;/"RDD4(%?FAJ,I
MCM3FZ\($I]3.C ",X@ S:A-W<200\0'NF'HO%8A?*UR7<U5(M*Q4\>( 5<+$
M.9">X]@);1=&22B<Q79A#1V'-S HQ>$0[5X[$+]XN"ZU- I;MX^UTFM9O2SZ
M.U1*[:L0I%<3Q"\G]H,<F@9=ZY;XDX.H[AP+@)@(;+]"*.8\1P"*F)0QX-9>
M4Q"_J+AU/ G2=0O]"0]L:0&A0COM3R$4<3,D@(HP&:#;*PL2_43>R/RQ!'H@
M<N<C>&Q[ $ 1;#MJ"L&X_< E$,JDF@%Q17H=1/Q"J$L@CW*I*FE\T;9T^GT@
M>[KRA(2<.]D34$0XB)S%=V$BBD(GB0"#8GRPFSG>O?::B/HUT?4K9*DK24Z(
MB./(I@L B1T-TP%K@5U3$@ 8T($:27L=1/TZZ$;J;G5!J@386(:<VDH7P%$L
M[/W3%(*1B,>VZ -P,8L&J@/MA0^EWNK0<T6F)")S4:AR=RCCJPRT%QS4+SBN
MTCJ;HS=9B18JS].J;L=I!W@+NG=G+CKTQZF]09@ *'S*N.U;%\5.N>-9R!89
MBJ)>;E"_W)AF^5;+Q7^AS@'J@:TZ )2A3FWJ+HJ=VC&:@+8&J?>2@_HEQ]?V
MA%4N3M(G([-6$I7;XM%05\N7X[YM;3RC51-O&^.EIGB\A.&;W.S6WSK1Z O&
M7J90OTSI@W$W#W@97,40,)-L[74 8)@Y51NTAH43A"[,[/S$@$RAO4RA?IER
M&(4^SJYJ",+8)C.!8(R[^1NR)IC#&8!AQ@:T"NVU"O4?@PSE[V-S?=FG_K*_
M4WI-I%9RW;SE>)+'L=IJGR:X37E$)ZA1!]FJ1/-M5<ER_@.93719Y^GNW<;B
M[VVMF^.$0<743><PTY^XU<4%<6+O/"!+Q*FA+H@$ VO >L' _()A K@+(LL
M/6"J*;8WU0".XIC;U12"F6IJRY $P,6"#SQMK%<.S*\<9C]J+8O:=T;>5V;F
MK\P_<4K.#D[<_578<T[.H/VVR6/VI@S"F6U^;!== ,=#L^&USWH!'.-AP =D
M.NL++^._Z[2<]26-B5\]+^\L'!V7!(S9T@6 !5$4V3D4@)E(#IPW#@".F&')
M@.1G?:UD_EHYD]53-K?E_K&QO@RQ\)>#N<_OS+\7]06SN_6+B1#V$KBHB!(G
MD%T4#;%]HIU ,":"@7<6K"\[+/Y=8<S[M,Q?2\NOAG%GX; >!"RVHQA B<#V
MS11 D2CF5FI)(%@0Q781&A^\J2YDM6H_$:A-9=Z6>O?V<7]W_QG"^_;ENW7_
MBIQ-"'!_2LZ2W4<&O?G=-P^?TFJ5E37*Y=(,A4]#L]S5[C."74.K3?N>_%%I
MK8KV<BW3A:P:@/E]J91^:30#[#_FN/P74$L#!!0    ( "& 6E,](/F/T@<
M $<K   8    >&PO=V]R:W-H965T<R]S:&5E=#4N>&ULS9IK;]-(%(;_RBA"
M6I!HX[GY@MI*Y-)2%BA+RJY6J_W@.I/&PK&#[;3P[W?LF$P\<SPN+87]TL3I
M>X[?N9UY?#FZS?)/Q5*($GU9)6EQ/%B6Y?K%<%A$2[$*B\-L+5+YGT66K\)2
M'N;7PV*=BW!>!ZV2(7$<=[@*XW1P<E3_]CX_.<HV91*GXGV.BLUJ%>9?1R+)
M;H\'>/#MAP_Q];*L?AB>'*W#:S$3Y<?U^UP>#7=9YO%*I$6<I2@7B^/!2_SB
MC'E50*WX,Q:WQ=YW5#7E*LL^50?G\^.!4SD2B8C**D4H/V[$6"1)E4GZ^-PD
M'>S.607N?_^6_;1NO&S,55B(<9;\%<_+Y?' 'Z"Y6(2;I/R0W;X238-XE2_*
MDJ+^BVX;K3- T:8HLU43+!VLXG3[&7YI.F(O -.. -($D+L&T": :@'$ZPA@
M30#3 FA7 &\"N'Z&KD:[38"KMX%W!'A-0#WZPVWOUD,S"<OPY"C/;E%>J66V
MZDL]OG6T')$XK:;BK,SE?V,95YZ,+]Y-IN]FTPF2WV87;\XG+R_EP>Q2?KR=
MOKN<H8M3>70Q_OW5Q9O)],/L-S3]X^/YY=_H 'V<3=#3)\]0L0QS4: X19?+
M;%.$Z;QXCIZTCH^&I31;G7(8-<9&6V.DP]AE5H8)$#:VAXVSU4K.\%F919^
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
M1B;K+Q#UC1*;ZA!_*902>76Y9C1ET@CHWU="J/<;\X+V.]#Y_U!+ P04
M"  A@%I3:6V\Q] )  !\&   &    'AL+W=O<FMS:&5E=',O<VAE970W+GAM
M;*U9VVX;1Q+]E0876&0!D91H.8EB68 DVUEG$42QXN1AL0_-F2:G[9[N<5](
M,5^_IZI[AD.+5A+LOL3B7.IRZM2IZLGEUOF/H5$JBH?6V/!RTL38?3>?AZI1
MK0PSURF+.ROG6QGQTZ_GH?-*UOQ2:^:+T].OYZW4=G)UR=?N_-6E2]%HJ^Z\
M"*EMI=_=*..V+R=GD_[".[UN(EV87UUV<JWN57S?W7G\F@]6:MTJ&[2SPJO5
MR\GUV7<WY_0\/_"K5MLP^EM0)DOG/M*/M_7+R2D%I(RJ(EF0^&>C;I4Q9 AA
M?"HV)X-+>G'\=V_]#>>.7)8RJ%MG?M-U;%Y.OIV(6JUD,O&=V_Y3E7R>D[W*
MF<#_%=OR[.E$5"E$UY:7$4&K;?Y7/A0<_LP+B_+"@N/.CCC*5S+*JTOOML+3
MT[!&?W"J_#:"TY:*<A\][FJ\%Z]N7=M)NQ/2UN)&!AV$6XD[KX*R41)NE_,(
M-_3PO"HF;[+)Q1=,7H@?G8U-$*]MK>K#]^<(;XAQT<=XLWC2X$]5G(G3Q8E8
MG"[.GK#W;,CY&=M[]B5[?BVM_IW3.Q&WS@9G="TS2X##.'V"XXVVTE9:&G&/
MBPJ4C$'\^WH9H@>I_O-$1.=#1.<<T?G_LPK_HTG1/W$KC7XX$6]M-1-?1;=6
ML5$>-(R-T$@TI&70M99>JW B_OZW;Q>+TQ?\#O]]]D(X+_#*<"N;+3?_(;8R
M"&TKYSOG@5Z-'^(ZK4%M<79Q<<$!(CHI7BDCM](KT3^+(&?B%UCN(\5CY,A
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
MSR?8"_A;=_X17<??EY<NHK?XSP9"JCP]@/MT1NY_D(/A?SA<_1=02P,$%
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
M]:4KD"\K@P,J1)G'1$'?N$\<T]Z*C1)K7 H3KI-)ON/AN,L!Q]BPDAZ'YHE
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
M2\/Y(IMY[$XO5FW<7>E26= ,]]@(CI,N3<#WE0*ZQA?:8'=Y_NX_4$L#!!0
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
M5:$$\MY*,MMN&8L[93W2''N%WUO\RY_>S>*+#^[9!I$ %JVWJE);66 !)6*
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
M)Q8VBYQ5W'/?/S3A?W3;O+W-E0AGTXVJ<USD A*MB?Y HB<&<-@/:Y="(IB
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
M)QM28;3>0;543^@6P90&>P@!_.EHI)[G>BP[V15Z9$OH2?0&)D0I6X\&T(@
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
MSZD8LO.SYT-(4Z_HJ\@CL25"$+UTW"80J&SNU?W=QKX#=-4Y# HE@5'+CTH
M& VVY@(C \;2)B5AJH'+)0;'1+LZ=<0D=\>PK^BR2<>P67._022*V++)*7T+
MSH-20[GOR@TE8F_LY,A4\JR?2IX='2?N=/B8+'IO<PNDCGMH+OE3@H:9(I#[
MF!(^,)9.^'Y'N[=#[@C95\E??GOW>GSVO8"84M6Z2'11]Y&BF!=I*"D>W])E
MQ,.T7;0!KH1 UE68VY%_O3UL'45 %V0-C 9#2UT@4\#32$\E)2Q,1J76<C#"
M8-!Q5JZU;RF2U/%;10+2>0FI#1Z5O!)'%5-2TT-XVU6N;FNIC5QH0QR'Q#7X
M0E9R'T)U@PQPC?,5N9FF$.:MSWTRD*Y-I9+//08;C>*]2$5\RW;!RSQ/I+)
MR;A?!U#(HHXMT=D1$HIK"4H^IB;TXK5BRD:O<TMF>O,!;$RL'4/&ALUL:*Y.
M@P,-BQ%PZ30=P2@X22.EJAOCM@HNE!FO2ADD]5C;<6,DE"-]2V8_V?QCB^U4
M<?9-]HI.JBI-J3R*)<L9%?9]G!#E)-WIQ$ KBLI1EA%\<*'+[^PY^;;6F%Z<
M3XX:O>0A._/E !Z)JCGL-$AWQ*104HV5()4S#J-MV7/X,%5#VS04MHI4#2:%
M#-50ZPC?RK8@TR1$$HV2N35WS3U^<6UAV5IY[DW H7X J*'4Y-"YUA=4M:B
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
MD_G4 ]UWWGY@5=-UNZVRU#L[LZ3'"K5SH/6=4O8X< 3C\[?^'U!+ P04
M"  A@%I3SP:;G2P#   !!P  &0   'AL+W=O<FMS:&5E=',O<VAE970R,"YX
M;6R%5=N.VS80_96!&@0)H%H7RRM[8QO82X,$Z**+["9]*/I 2R.+6(I42,J.
M_SY#2E;=U'%?2 XYY\R9$3E:[I5^,36BA6^-D&85U-:VUU%DBAH;9B:J14DG
ME=(-LV3J;61:C:STH$9$:1Q?10WC,E@O_=ZC7B]59P67^*C!=$W#].$6A=JO
M@B0X;GSBV]JZC6B];-D6G]!^;A\U6='(4O(&I>%*@L9J%=PDU[>9\_<.7SCN
MS<D:7"8;I5Z<\;%<!;$3A (+ZQ@833N\0R$<$<GX.G &8T@'/%T?V=_[W"F7
M#3-XI\2?O+3U*I@'4&+%.F$_J?T''/*9.;Y"">-'V/>^61Y T1FKF@%,"AHN
M^YE]&^IP IC'/P&D R#UNOM 7N4]LVR]U&H/VGD3FUOX5#V:Q''I/LJ3U73*
M"6?7[QG7\(6)#N$!F>DT&F"RA'MN"J%Z^\TSVP@T;Y>1I8@.%Q4#^VW/GOZ$
M?0$/2MK:P&^RQ/+?^(B4CG+3H]S;]"+A'X6=0)R&D,9I<H%O.J8_]7S3_T__
M-.._;C;&:KHQ?U^(D8TQ,A\CNQ1CYV*$P(Q!:Z#I2UV"O]E%IS676W>[N#E7
MY(O\[ME>FY85N KH71K4.PS6SS5"I02].<=L_0<$'YL>LJW!TOF=:EHF#Z]_
MF:=)_HY.N&2RX$S\1R:S4(U9.-'L1]G^:?A\'+.M->*OEJ,^Q=5D,UW4!WC#
MG9_J#%TU\_8:;@RH"NCCJ@U!AL\+O^,.!1SG%)Z5)6UTH_! 3T"_4,NJ.B*
M5W 5QG%.L\\E?3?N?)X\36"K=J@E=1)+%2#5G(092,)9&H^ WJ**-*A]"5K6
MDI3Q.$O";#H=YQ]YJ7_)XG!*?T1.P_DB&<8[I5NEF47J&QM[WCO/TV%\Z"0O
M>$M:SCB2C'PVC*\@)_4N_606A[,\\:MY&"_F0V7OL<#&E7::^-K&8VW/5C.)
MP_AJ?JEXBS1<Y%?>=1K&60;GWDETTI:HK%O?? T4JI.V[U#C[MC?;_JV]H][
M_W-X8'K+I0&!%4'C23X+0/<-MS>L:GV3VRA++=,O:_I'H78.=%XI98^&"S#^
M]=;? 5!+ P04    "  A@%I3/ZJN:E$&  "R$   &0   'AL+W=O<FMS:&5E
M=',O<VAE970R,2YX;6RM6&UOVS80_BN$5PP)H-4B]9XF 9)TP0JL:Y&DZX=A
M'VCI;!.51)>DXJ2_?G>4K3BM+71 OE@413Z\>_C<'>G3M39?[!+ L8>F;NW9
M9.G<ZF0ZM>42&FE?ZQ6T^&6N32,=OIK%U*X,R,I/:NJI",-TVDC53LY/?=]'
M<WZJ.U>K%CX:9KNFD>;Q$FJ]/IOPR;;C1BV6CCJFYZ<KN8!;<)]6'PV^30>4
M2C706J5;9F!^-KG@)Y<\I E^Q-\*UG:GS<B5F=9?Z.5==38)R2*HH70$(?%Q
M#U=0UX2$=GS=@$Z&-6GB;GN+?NV=1V=FTL*5KC^KRBW/)OF$53"77>UN]/H/
MV#B4$%ZI:^M_V;H?&R<35G;6Z68S&2UH5-L_Y<.&B)T)>7A@@MA,$-[N?B%O
MY5OIY/FIT6MF:#2B4<.[ZF>C<:JE7;EU!K\JG.?.+V4MVQ+8K9? 6W!2U98=
MW<E9#?;X=.IP#1HY+3=XESV>.(!7L/>Z=4O+?F\KJ)[/GZ)M@X%B:^"E& 7\
M4+K7+!0!$Z'@(WC1X'#D\:*?<O@&:NF@8F^5+6MM.P.6_7,QL\Z@7/X=62X>
MEHO]<O&!Y6Y[M3,]1P&6NFN=13&7H.Z)X8"UX/:1/ I*D7IB5[*$LPF&H@5S
M#Y/SBP/PK-080Y:\1"/<$MA<UQB,JEVP(]5BC^ZL;"M[?,*0;#T#PY#NMXC2
M4#OB =N#S5ZQ0@19&&$C"X-<Q.R"8#VYF"U8I;N9FW?UD]]'618?LR,>Q&%R
M3/-Y4(@"&VD1Q+Q@(W0G ]W)S]*MVGMHG3:/^_@=1=G/[[LMWDL0>B/7&,4.
MC)(8;J\83XF'*&;7JE48S15;:%U9EL5!460L$8' C\AT$O TQ0;UI/D89>E
M6?JSE*T,9GOC'AE:S^!KIU:8?]U!D8[B[B?QX^$57H+6.[#N"988S8,\([ZB
M+$BSD-WJN5M+ XS'01R'R'L0%A&[TLVJP]W8F<O#("EB5@1A*MAU9UKE,#MX
MN^?JP?E,P8,LBM"($'?O3\#:L-1UQ52#/-X#H= 0GA?X&\4)N]-.UBQ-@SP2
M]!!109'5-5V?A"I HDHE^W*%"\E&&Z>^]1U'<8*^B..^D>0402(,BC3L&U'.
MQ^20#7+(QN6 =;_J,+YQ$S3N@F&U;A>_(3D-D]:"L_ND,(JY7PH?]H*_A K>
MM4ZV"T5)RH-2W 1)3)FJ"!*>L0-+1T&<<41+XYQ"D@<AIYCC F,N&>,V'[C-
M_T<Q,!TZ62LY4[5R"O;R.HIWL Y\C_P2I%*(X&'L29QF4SIGT,)<.9_%8DQ*
MG.08!1E&UV=IC&PWT6[ &8T#*;*X2'$K1)A[6-U2P WYFBT!HVCVB"?%U:I6
M8"R+@S1,<7^*0C!,(7.P="K$8")@<@[/8.3,'( &)T6"OS$FSCOY@#TK^>A+
M%O;EPF]SRJXZ8VC9%848NH3$&$ +.F!V21E"SVJU\.X29(1@ LM5@A/I4(:L
MR.J>BIUE6.P,S) ,/S#)61Y$6<P^8*:3WJR:<@/IBR>DKP+SRK7QYT5\2_(,
M\T.1).19U96.F,)\X]-+3+DCS_,MF/;=(D?ZDG"C8\P&<8HK9U%&M13+:TRR
M37/L2<=D6PRR+49EN[5K/6PG':4/:G84;+]FKY88L,B0UR)X4<CV\==?<L&S
M-W8(EO5>/6V%_LC60!G:;M1M?]#VW=( /#N@LK_0O.<].P%P"RO71X!(@\,?
MMD=*Z3 8%JIM:<^IG&)YUY7/.@7G/@MEF/E?;:1/[P*E@/3>*W_+H6/3?A]+
ME.0"C7,:Y8XU;D>M64H:R7A*RD+9H01CSCXYI&13.?Q@SS0[2A(Z@N4%U1$L
M7$F*SR@(L^)XUPUHJV<.;$+V%2H[2=(?.T9$QL.GFT@X*K,;+-X&==89XF\W
MQ9#+>Z4VCKA?:W?/TI_SB:&_DZIO0"?<9U8,2O]!3->RW*;76]P*TW.'5F_O
M%)?;Q-C7_8%>2]0^RZUXM:$BCH'M(Y=[D>"9@=*4M$O*7_UIXH@7$9V@(]J^
M2"3'WZ'N2)2N2QXE3.CI8TF\&7KV[=ATYQJ)"6[A+\M4//#TWM\HA][A0G[1
M7T.?AO>W^?<H5X6YJH8Y3@U?9WC@-OT%N7]Q>N4OI3/M,)OZYA)D!88&X/>Y
MUF[[0@L,?U.<_P=02P,$%     @ (8!:4_MYHPPF P  :P<  !D   !X;"]W
M;W)K<VAE971S+W-H965T,C(N>&ULG55+;]LX$/XK Z&'!%"CAR6Y"6P#3KK%
M+K!!C21M#XL]T-+((DJ16I*JFW^_0TI6TS31H1=[2,U\\\V3JZ/27TV#:.%[
M*Z19!XVUW544F;+!EID+U:&D+[72+;-TU(?(=!I9Y8U:$:5Q7$0MXS+8K/S=
M3F]6JK>"2]QI,'W;,OUXC4(=UT$2G"[N^*&Q[B+:K#IVP'NTG[J=IE,TH52\
M16FXDJ"Q7@?;Y.HZ=_I>X3/'HWDB@XMDK]17=_BK6@>Q(X0"2^L0&/U]PQL4
MP@$1C?]&S&!RZ0R?RB?T#SYVBF7/#-XH\857MED'[P*HL&:]L'?J^">.\7B"
MI1+&_\)QT"VR ,K>6-6.QL2@Y7+X9]_'/#PQ>!>_8I".!JGG/3CR+-\SRS8K
MK8Z@G3:A.<&'ZJV)')>N*/=6TU=.=G9SH]J66\JR-<!D!3=*6BX/*$N.!LX>
MV%Z@.5]%EGPYBZ@<<:\'W/05W$NX):3&P!^RPNIG^X@X3D33$]'K=!;P8VDO
M($Y#2.,TF<%;3($O/-[BMP)_STTIE.DUPC_;O;&:NN??&:_9Y#7S7K-7O-[3
M4%6]0% UU+UU^%14WO8M=;BT3$#''@=2-'! LZ>9HP4"J?7,2W68=>AF^LIT
MK,1U0$-K4'_#8//A9\^3RYYJI<$V"%+)MR63)0K7 +_P@%+16!J+E0O$&=1*
MT'P[#6;<'95+[0EL+!B<<4EZJC>4:W-^!3O47%4P,KD=F?SMT&%WXG.';JTX
M3H3H8=Y $L9Q[@XI9&&<9$Y<D)CD2R=FL @OB]2).8E9OH"'!FE=U99@DF4.
M#\JE^5GR?5@_$I$4X;(HB(XQP-NN=X%R20AH+)RE87QY>>ZX9&%1+&&F+_*I
M+_+9OG">$,/GB0;!V9X+;A]?JOPLY,N5W[Y4G-!7\%77<\5^7M9M6>J>%$_&
M;I;>TA[3KKNA4]JO8H+YI:/>4+62/(&/SS\D29@GQ7RVHR<+L$5]\&O>=6DO
M[; +I]OI)=D."_2'^O ,W3)]X-*0]YI,XXLE95D/JWTX6-7Y=;I7EI:S%QMZ
M#5$[!?I>*V5/!^=@>E\W_P-02P,$%     @ (8!:4PY\<GL, P  2@8  !D
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
MHY.,&JBG2VU:6+7U%\E:69IO+S;T'X#:;:#O&Z7LT\(Y./Q9+/\#4$L#!!0
M   ( "& 6E-WBQBBC (  (P%   9    >&PO=V]R:W-H965T<R]S:&5E=#(U
M+GAM;(54VV[:0!#]E9'52$1"^,(E(0*DD*1J'M)&@;8/51\6>XQ76>^ZN^M
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
MA,%2(-E4%19_9T#Y?N+XSF%C1;:E,AMNFM1X"VM0K_52Z)7;L^2D B8)9TA
M,7&F_LM\:.)MP"\">WDT1Z:2#>=O9O$MGSB>$004,F48L!YV, =*#9&6\:?C
M=/J4!G@\/[!_L;7K6C98PIS3WR17Y<1Y=E .!6ZH6O']5^CJL0(S3J7]HGT;
M&X\=E#52\:H#:P458>V(WSL?C@!^= 40=(#@7P%A!PAMH:TR6]8"*YPF@N^1
M,-&:S4RL-Q:MJR',_,6U$OJ4:)Q*9YABE@%:VRNS (4)E>@)3;.,-TQ)M((,
MR YO**#[[OA!G[^N%^C^[@'=(<+0SY(W$K-<)J[2F@RSFW7Y9VW^X$K^'YD:
M("]X1($7^!?@\]OP!60#%/H6[GV&N]J)WHZ@MR.P?.$5OG5[F1$O] 7K'!"]
M X^(@;J1)>RSA#9+="7+])SZDG,MR<B2F&[<I>,@]L+$W1T;=!X5>\]!U$=]
M4ACU"J/;"JEN;WLQ]$.!<MYL5-'0WI-+:EO"X9&.ISB.3L1>"/(C;WA9[+ 7
M._Q?.R_\J5;E\-Q3?QR,3V2>1XW&D3\^D>D>M9UY\KYCL25,(@J%QGF#6-.(
M]AEI%XK7MA,W7.F^MM-2O[P@3( ^+SA7AX5I[OXM3S\ 4$L#!!0    ( "&
M6E-^<A@=1P(  )\%   9    >&PO=V]R:W-H965T<R]S:&5E=#,P+GAM;(U4
MVV[;, S]%<'H0PMT\2UVFL(QL"0HUH=A0=)NSXK-Q$)ER9.4N/W[2K+CN;EA
M+[9(\1P>4J*2FHLW60 H]%Y2)B=.H53UZ+HR*Z#$<L K8'IGPT6)E3;%UI65
M )Q;4$G=P/-BM\2$.6EB?0N1)GRG*&&P$$CNRA*+CRE07D\<WSDXEF1;*.-P
MTZ3"6UB!>JT60EMNQY*3$I@DG"$!FXGSW7^<12;>!OPF4,O>&IE*UIR_&>,Y
MGSB>$004,F48L/[M80:4&B(MXV_+Z70I#;"_/K _V=IU+6LL8<;I'Y*K8N(\
M."B'#=Y1M>3U#VCKL0(S3J7]HKJ)C<<.RG92\;(%:P4E8<T?O[=]Z '\X05
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
MA)C9P.:\EKKNT/H$CF1\SCK8> H;9=$(UB$49HD;-AE@DT781_RL<[_!+_C
MB(LL<3A-T8AL*A2$2>PF2P>R='GC6R',MC=<V'3222N(/@$M ;+$@@!^8/1D
M4\T9TG0*'EQ%JP.?"J$,16[P; #/W@$W=9T(@(LG4WTEX$*C'W0A<()F#M H
M'8%.A5*=_FY0Z%_:@[^(>M\0@>W!9$1W2W>%]Z>;"Z-Q>7)(H2R; [SJ7W 1
M\)NPG=K)!:<>HW2\P0XIF$4S.PPOC02B]W*\:'-E:F8KW.>OM_#&<Q)F8SZ'
M5)K.U$QXZ4-PN1'U&SN3&KWR&Z<H'==&AU06S30<>.DX<+GEW*N2""?4M'M$
M:3B!FDJ%23!3!.&ER<#E+O/(E2G6[UT*>M)HTHMC&(;A&-4AEB;!N"QZ5]<[
M<[?^!XL3K:7.R*/6\V\2;49TU]5NH'AC;WP'KG2=L:^EON(3803T_)%S]3HP
ME\CA3\/V/U!+ P04    "  A@%I3NU45&3P#  "\"0  &0   'AL+W=O<FMS
M:&5E=',O<VAE970S-"YX;6RE5EUOTS 4_2M6Q -(L'PGZ]166C\0/$Q,*X,'
MQ(.7W#86B5ULIP5^/==.&KHT*Q.\M/XXYUS?XQO;X[V0WU0!H,F/JN1JXA1:
M;Z]<5V4%5%1=B"UPG%D+65&-7;EQU58"S2VI*MW \Q*WHHP[T[$=NY73L:AU
MR3C<2J+JJJ+RYPQ*L9\XOG,8N&.;0IL!=SK>T@VL0-]O;R7VW$XE9Q5PQ00G
M$M83Y]J_6J8&;P&?&.S549N83!Z$^&8Z[_.)XYD%00F9-@H4_W8PA[(T0KB,
M[ZVFTX4TQ./V0?VMS1US>: *YJ+\S')=3)Q+A^2PIG6I[\3^';3YQ$8O$Z6R
MOV3?8-/$(5FMM*A:,JZ@8KSYIS]:'XX(J#-,"%I"T"=$3Q#"EA ^-T+4$J+G
M1HA;@DW=;7*WQBVHIM.Q%'LB#1K53,.Z;]GH%^.F3E9:XBQ#GI[.:$EY!F1E
MBW(!FK)2D3?D,Y62<OV3W($"N0/RLIU[A9/WJP5Y^>(5>4$8)Q\+42O*<S5V
M-2[(R+I9&WS6! ^>"!Z2&\%UH<B2YY /\!?G^:,S?!>-Z-P(#F[,@K."'S)]
M0;S@-0F\P!]8S_P\?07;"Q(DENX-I?-_T9?_'/V1&6%7&J'5"Y_0NQ$[P!-!
MFTU>:=QA*G-R*T5>9_I/?5QGF:QI2;[<B;(D^/'N$?;U3/BH"Q_9\-%?*I-J
M\@ ;QCGC&R+69 N2B:%BF35ZB=4SY^-N.AKY:.3N> =/06D:!H]!BP&EP+M\
M#%H.* 6CJ ,]2CKNDH[/)HWV[I@]@_$*(/N#R6@^'LI:BC73)"NHW$!.M""9
M4-IX(F$'O(8A4YIX\?$JDU'/DU.,G_I)SY-34#!*HYXGIZ HC/QA3Y+.D^2L
M)_>:E>P7M?>*S=4>2$.Y)B?1W\1Q;XGS =#EJ%\  Z# BWN6+ =0H9>.AM--
MNW33Y]8]X+:?K?CTI 1]SP]ZRYR?HB[C?BZ+9TDM_R+5).P>74<58*V:=X#"
M8JVY;HZ?;K1[:ES;&[8W/O.OYO[ ^ *?)LU+XH]\\ZZYP4^#<45*6&,H[R+%
MS9'-6Z'I:+&UE^&#T'BUVF:!SRN0!H#S:R'TH6,"= ^VZ6]02P,$%     @
M(8!:4^F^$*=U!   L1(  !D   !X;"]W;W)K<VAE971S+W-H965T,S4N>&UL
MO5A=;^(X%/TK%IJ'&:EM8@<"K2A2@48[JQUM569V'E;[X"878DUBL[:!5MH?
MOW82$CZ20+?=>8'$ON<>W^OK8\?#C9 _5 R@T7.:<'7;B;5>WCB."F-(J;H2
M2^"F9RYD2K5YE0M'+270* .EB4-<UW=2RGAG-,S:'N1H*%8Z81P>)%*K-*7R
M90R)V-QV<&?;\,@6L;8-SFBXI N8@?ZV?)#FS2F]1"P%KIC@2,+\MG.';P+B
M6T!F\0>#C=IY1C:4)R%^V)?/T6W'M2."!$)M75#SMX8))(GU9,;Q=^&T4W):
MX.[SUGN0!6^">:(*)B+YSB(=WW8&'13!G*X2_2@VOT 14,_Z"T6BLE^TR6W[
M7@>%*Z5%6H#-"%+&\W_Z7"1B!V#\U -( 2"'@&X#P"L WKD,W0+0/9>A5P!Z
MAP"_ > 7@&PRG3Q96::G5-/14(H-DM;:>+,/V71E:)-@QFUES;0TO<S@]&A,
M$\I#0+.LC*>@*4L4ND2/H+1<A7HE&5^@CT7')]/S;39%'S]\0A\0X^AK+%:*
M\D@-'6U&8WTZ8<$\SIE) [.'O@BN8X7N>011#7[:CK\^A0_:\9BT.'!,&LM<
MDFTNQZ35X^^AOD(NN4#$);AF0)-V^ R65XCX&=RMR\?;V._?QAZTPZ<07B$/
MU\'W<NF5=>EE_KP&?_OU-Q%*(U-FMBQ!K@']^9NQ1Y\UI.JO%K9NR=;-V+IG
ML84QE0NH+>G<C9^YL:*]'IE@U[MS?-)B>M+B_MC")P._--H+L5>&V'M%0LL\
M/HHD04:C-U1&;9GT2QJ_-9-;/:$*B;G1DQ#2)Y -E9'G(W?8VXD6>_V&:/OE
M,/JMPYA0%:,E?3%[H*Z;R&G_B/32([UZTD%).GA%[&8]"AMZ\XH<#XXC=WOX
MH%S.,0H&1Q73G,/K,ISKUG#N3&4\)%3;XPL*5J9R -V9-?C='!4N RG2RSO^
MLHG!-$_,/IYU)VS!;<Y;*@F[U=;D_@0-P#M;(7X7%0@*/[MSXGNN6Y]N3"I^
MTIYPI4!?H(UD&B[%?%Y+38ZHFYDKL<5>.W,8RA5$*!1I:H][YHRJD#V7:N!9
M2<\!5);\I32'6JE?D*;/H$X-UCNNW6[C:"NQQNUJ'="0)4RSP\G9=U<)(_Y?
ME1%7THC?71MQC3B2;K<A@Y4ZXC?*(Z[11WSM-?!6 HG?62'Q61)YEE509]6<
MRTHE<;M,5M6(_D&/S,I&I 2_0%_AF>:+9D8Y^E4HN$ 3FC"CIYS1MO-FI9#D
M9R@DJ122O)-"DF.%]'I-*Y]4"DG:%7(&:Y!Y!65AFMW)J-88.,S982'O4U12
M2%YS\'RU&I!*Q4B[BOT'-2@\[A^52$-2*_TCO;>)08'?%X-&WDH.R6OD\ PQ
M*/RUG:U/FP0U)L?!.#M?U"F8*K=W'\KLCRNN\X^8LK6\7[G+;A4.VL?X9H)K
MVJ?XYCZ_/:G<YY<Y7\RB8ERA!.:&RKWJF[S+_'XD?]%BF7W//PFM19H]QD C
MD-; ],^%T-L72U#>4HW^!5!+ P04    "  A@%I3F[,.FH@#  ";#@  &0
M 'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6RU5UUO&CD4_2O6:"LE4I89FP!)
M!4@AV6J1&B4BZO:AZH.9N0-69FS6-M!*_?'KCV%,N\%IT\ #V![?XW./[QSL
MX5;(1[4$T.A+77$U2I9:K]ZFJ<J74%/5$2O@YDDI9$VUZ<I%JE82:.&"ZBHE
M6=9/:\IX,AZZL7LY'HJUKAB'>XG4NJZI_#J!2FQ'"4YV S.V6&H[D(Z'*[J
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
MNL#;9J6?5)!F@9XOA<"WCJGRPR,]_P-02P,$%     @ (8!:4Y8/3X&N @
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
M7.[A_K '?&$/!#R8P!L%%GG"D@[^O)\?]?!=4X^J*/A8E'O<*_@EU@, \>\
M0XPZ]C/KIR_9=@!P8.FP*YWKHB]^.?I9,4AUAQ"K1R[HS;FBZ[5D:VJ?;+&J
M[H5__C)0\%FS3/W;$\BK GDVD'<AT%>A:6J:CQ7OO(T._,#RBP[X.D$AQL04
MZ?74G0Z8#WTX/(?-VS ?XBCTSV&+-HR$""-2P<Z2]:MD_=YDGW.N60*6FNIF
MKF=Z0:47W-:EL H47NG2@>^?EI\$!.&&2QTP'&'8*/^\#?.0A[V@X5(;1G
M@PLN#:MDA[W)3DWWXS%5@+V!Y\%RT%._J)*,;FL4@G5KAU=:50J<F8"&$#:L
MZH"%D#0,G7>@2!@$#;%%5\QA%$3=3J&3%QGJS7:QD^;SJ:]PN);"-_:H;JZ(
M7.L1:=<K\CS2]*@-B]"0-#UJHP@.(6IZU!'3-\_=!8_J#H_Z6_P#3Y*4@055
M&OQ&L^TG,%T5#UA?*>N.BOP;NU8W6Q1<ZUK0+G34;&ZS#I3GD[!I6AN% A0T
M7U0=L B%Z()G=;]'_0U_JC@%CS3F*Q[W%:_NJ6AX8Y_J7HNB:WV*6J_W,&Q^
M4'2 ?!\U76J#,(:D:5(;A?PH:)CDGGS0FU?0VDY2"L1BE^O#EUNU6DUK4SNC
M--;OT=T,=:S/B^G.#A"U_&$T?*!RS7,%4K8RH> @-/>3/$Q;AQ,MMG:<>!':
M3 ?V<&,F5"8+@+F^$D(?3XH U<P[^1]02P,$%     @ (8!:4_]2U*OY P
MQ0\  !D   !X;"]W;W)K<VAE971S+W-H965T-#4N>&ULM5=MCYLX$/XK%NI)
MK90+F)<$JB32;FC52JUNM7N]^U#=!P<FB56P<[:3[-ZO/]LAY 5"L^WV"V!X
MGIEYQF,/'FVY^":7  H]E@638V>IU.JMZ\IL"261?;X"IK_,N2B)TD.Q<.5*
M ,DMJ2Q<W_,&;DDH<R8C^^Y.3$9\K0K*X$X@N2Y+(IYNH>#;L8.=_8M[NE@J
M\\*=C%9D 0^@OJSNA!ZYM96<EL DY0P)F(^=&_PVQ;$A6,1?%+;RZ!D9*3/.
MOYG!QWSL>"8B*"!3Q@31MPU,H2B,)1W'OY51I_9IB,?/>^OOK7@M9D8D3'GQ
M-\W5<NS$#LIA3M:%NN?;#U )BHR]C!?27M&VPGH.RM92\;(BZPA*RG9W\E@E
MXHB@[;03_(K@7TL(*D)P3@@O$,**$-K,[*38/*1$D<E(\"T2!JVMF0>;3,O6
M\BDS\_Z@A/Y*-4]-[F$#; UH+GB)IIPIH6="ZB#4$DVM>Q 2_5Y_0C=2ZFHD
M+$>?*)G1@JHG]#H%16@AWVC@EX<4O7[U!KU"E*$_EWPM-5:.7*6#-2[=K KL
M=A>8?R&P 'W6+I<2O6,YY"W\:3<_Z>"[.DEUIOQ]IF[]3H-_9*J//+^'?,_'
M;?'\'#WMIJ>0]5& +=WK4!/4\QY8>\$E>U22Q4+ @MCEQ^=H7PE?/VDH^JB@
ME/]T. IK1Z%U%%YP5!>.+:FL*JD>(J:.VLIB9VY@S9E=:S/!>A,;N9OC7%\#
M2IL@/S@"G<B):CG1C\OIH96@7* 5Z%O>0XPKO3=F?,'H?ZTU?!LU0@P:6KLQ
M)RH&M8K!SZB QY7>EB%'BJ,9(+W*"ST08/I(#L)4RQ,0C==",V"MT]@=0!3U
M/>^WME7T?-Y)!H9U!H:=AE*8@Q!6E2W[GLZ"'K=K&38+*?3Q\&R>KD*E.U1T
M7+D)CI/V^8QK-?'+J8D;$?@X&L1G:JY"I4T43A(O;%>3U&J29ZEI$Y$T'(?1
M,([.1%R%2INH(/&2H%T$]@Z=U?NA15;L^V9O+_ [FT3EYSC >-#8)EI0>(@O
M[13XZ <!=\JX$SQ?FW\"T_,EB W-0':L0.P?+/N_M@?A0[?#P<LMD,K6:56'
M@_/BN@Z6ML$T"E^8ET-?Q=V-]7F2PN9R'@3)N:)K4&D+"L?#"SL8/C16W-U9
MWSTJ,+]J:$N$($P]=4W\H='AP2^NL4-'P2_84G"S#X3#R#^?D&M0:1LJ"N(+
M$W+H*?@%FTIEZ^2/+$[\1H5=!4M;89X?G4ERC\X]>FM=V/.C1!E?,[4[ M5O
MZS/JC3V9N0?X[H#[F8@%91(5,-=4KS_4V12[,^-NH/C*GJ)F7.E]W#XN]3D;
MA 'H[W/.U7Y@'-0G]\G_4$L#!!0    ( "& 6E,JHEFU:P(  ,\&   9
M>&PO=V]R:W-H965T<R]S:&5E=#0V+GAM;*552V_30!#^*RN+0Y%*UW$2%RK'
M4N. X%!1M2H<$(>-/8E7W8?9W22EOY[9M6/2-@U0<HCW,=]C9JQQMM'FUM8
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
MW7OL,-/_'R!,@'Z><JYV$R/0_-%,_@!02P,$%     @ (8!:4Y2J=7GQ P
MQ0T  !D   !X;"]W;W)K<VAE971S+W-H965T-3 N>&ULM9??;]HZ%,?_%0OU
MH94Z\IN$"I &X>KN8?>BL6[/;F+ :F(SVX'MOY_MA#0X;CK=ZKY ['S/\?''
MYSCV[$S9,S\@),#/LB!\/CH(<7QP')X=4 GYF!X1D6]VE)50R";;._S($,RU
M45DXONM.G!)B,EK,=-^&+6:T$@4F:,, K\H2LE]+5-#S?.2-+AU?\/X@5(>S
MF!WA'FV1>#QNF&PYK9<<EXAP3 E@:#<???0>UIXVT(IO&)UYYQFHJ3Q1^JP:
MG_+YR%41H0)E0KF \N^$5J@HE"<9QX_&Z:@=4QEVGR_>_]*3EY-Y@ARM:/$=
MY^(P'R4CD*,=K KQA9[_1LV$(N4OHP77O^#<:-T1R"HN:-D8RPA*3.I_^+,!
MT3&0?NP&?F/@FP;A*P9!8Q#\Z0AA8Q#^Z0A18Z"G[M1SU^!2*.!BQN@9,*66
MWM2#IJ^M)2],5*)L!9-OL;03BW]D+GXB&2T1V" &5K0LY?)M#Y A\ '<IDA
M7/ [^?RX3<'MS1VX 0[@ZCT'F(!'@@6_[W1\/="*0Y++SINK]LP1,EXUJI,U
ML2WKV/Q78@O 9TK$@8,UR5%NL4^'[:<#]H[DU,+R+["6_J##?S,Q!JY_#WS7
M]RSQK(;-M^@X!OY$F[NVZ;QO]/5_'OT*1M!F3J#]!:]E3E4B!@5E#P/.PM99
MJ)V% VF(=1K:TJ2VG6A;M?.=%EX<AWXX<TY=^GV9[T9!<JU*+2HO":?QM6S=
METV#Q&]%5[.,VEE&@\A21*BLX;>@35IWDT%HW_4NB/(/\"178H] 5E=O4XSR
ML\"%K#Q,]J#B* >"*L6Q$DCMK3@#I*4.;@O*99D?Y1Z@S<$MOCBZLRU)'5G4
MP3,)HL1@O;*HW, U4*<V7VYD+DA?%25R>>TK$K<(XT&$Z]U.?K$ W8$<%Y7Z
M9K40!<V> ?I1X1,L$!'\+2)Q+[XP\*8&D+XH\$+?X&'Q%":N@:,O\OTXL=-(
M6AK)_Y50&I_L>D=*)?TTB*=FLJPLJB ,#<ZIS5<4F"EE4;E!X-DA3EN(TT&(
M2[.T%( N2,TAIT4!&7^A8T52CY1T%WD<FSG5%[GCP-@;T[XH&(<F#YLG;V+'
MX;DO)PQW$$C:3XUW(&D&NV8R\0PF%I6$8A::116,S<_*VNKK52R=@Y<WB&5#
MA=Q6,"R*7R^;3UT>]^#<5"*X5.(;M=.,U4UES^]](&VJB5DZ%M'434PF?5'4
M2<P:B=,YELJSPE[?![A<^(J(^IS1]K9WCH_ZI&WT+[V'E6?I3]4=11^#7]S7
M%YS/D.TQX:! .SF4.XYEI*R^,]0-08_Z4/Q$A3QBZ\>#O&<AI@3R_8[*Y6D:
M:H#VYK;X#5!+ P04    "  A@%I3YJ/V)R4#  !H$@  #0   'AL+W-T>6QE
M<RYX;6S=6&UOVC 0_BN1.TVM-#5 1DI60-J0*DU:ITKMAWVK#'' DF-GCNF@
MOWZ^. DO]2'6#UM9$(U]C^^YQW>7.F)8FK5@]PO&3+#*A2Q'9&%,\2D,R]F"
MY;2\5 63%LF4SJFQ4ST/RT(SFI;@E(NPU^G$84ZY)..A7.8WN2F#F5I*,R+]
MUA2XV]=T1+KQ1Q(XNHE*V8@\GK__N53F^EW@[F<?SLXZCQ?7^_;S"K@@H9>T
M?P3I9:>#$P.(D<?'D1_BQJBO=JGKY9:I\<0<!T=I.B"I(@[KDHV'F9*;RD7$
M&6QDFK/@B8H1F5#!IYJ#5T9S+M;.W /#3 FE V-;QDKI@J5\=G#7S:";:IZ<
M2Z6KV"Z"^SNME^\!S0P$<B%:@3WB#.-A08UA6M[82;6X,KZ @GK\L"ZLPKFF
MZVZO3S8.U<T&F2J=,MV&Z9+&-!X*EH$<S><+N!M5A  :HW([2#F=*TDK#8U'
M/;"T,R;$/3QJ/[(=[E6V5=,.5%2V0RNH'CH:-P'^;3;'O4W[.MZ@X$_*?%G:
M[<AJ#KW"[C3+^*J:K[)6 ,;>Q=EI48CU9\'G,F=N\T<'' ]IXQ<LE.;/-AJT
MRLP:F";!$].&S[8MOS0M'MC*-.VTRG#-O1/4_'?S/&>2:2JV1=O>?\M9?K7B
MZ.I?2:[^J^P+]FJLS\^W+K)_"B+C4Q!Y$CTY>),BP_ILW#J =X[?UAK :\Z(
M?(<7*K$)&DR77!@NZ]F"IRF3+TYA2V_HU+Y&[_#;]2G+Z%*8AQ8<D<WXEJ5\
MF2?MJCM(1+UJ,_X&V^O&[3N6C<5ERE8LG=13/9]6P\ .;-3Z H=]Y*:Z_ CF
MXS _ A@6!U. ^3@O+,[_M)\!NA^'8=H&7F2 ^@Q0'^?E0R;5!XOC]TGLY=]I
MDD11'&,9G4R\"B98WN(8OGXV3!MX8'$@TI_E&J\VWB&'^P"KZ:$.P7:*=R*V
M4SS7@/CS!AY)XJ\V%@<\L"I@O0/Q_7&@I_P^4015Q;1A3S".) F&0"_Z>S2.
MD>S$\/'7!WM*HBA)_ A@?@51A"'P-.((I@ T8$@45>?@WGD4-N=4N/EM:?P;
M4$L#!!0    ( "& 6E.7BKL<P    !,"   +    7W)E;',O+G)E;'.=DKEN
MPS ,0'_%T)XP!] AB#-E\18$^0%6H@_8$@6*19V_K]JE<9 +&7D]/!+<'FE
M[3BDMHNI&/T04FE:U;@!2+8ECVG.D4*NU"P>-8?20$3;8T.P6BP^0"X99K>]
M9!:G<Z17B%S7G:4]VR]/06^ KSI,<4)I2$LS#O#-TG\R]_,,-47E2B.56QIX
MT^7^=N!)T:$B6!::1<G3HAVE?QW']I#3Z:]C(K1Z6^CY<6A4"H[<8R6,<6*T
M_C6"R0_L?@!02P,$%     @ (8!:4]B7@>E!!   L"$   \   !X;"]W;W)K
M8F]O:RYX;6S%FEUOXC@40/^*E9?M2L-"/J#3:ABI!687J:6H5)W'D9M<BE7'
M9FV'3N?7KQ.*]F86KN;%FQ>"G6!.+K:/K\FG5VU>GK1^8=]+J>PXVCBWO>SW
M;;Z!DML_]!:4/[/6IN3.%\USWVX-\,)N %PI^\E@,.J77*CH\Z=#6TO3QP7M
M('="*U]95SP*>+7_GJ^+;">L>!)2N+=QU+R7$+%2*%&*'U",HT'$[$:__J6-
M^*&5XW*5&RWE.(KW)Q[!.)'_IWI50S[P)]O4./YTSSW(.!H-?(-K8:QKKFC:
MYYYQ!_[B?:ER^HN0#LR4._C3Z&HKU'/=C+^+/KJ-)@Z'XSZ(E^97PJC7:Y'#
M5.=5"<KMXVA UH#*;L361DSQ$L;11._ U/?COV!>[._->2@4*7,I_ DS+QJ\
M@"AWB^ELL9I-F7^WNKN93Z\>?.'ZZN9J,9DQ!)D0D$F'D-\2!)D2D&DGD*L'
M?[B=+1!D1D!F'4*V(CDD((==0J8(<D1 C@)#ZG++U1OCJF#7W K+])HM#5C_
M,7\U@CPG(,_#0J[$LQ+^6JX<N\IS72GGYSRVU%+D BR"_$A ?@P<26XW'UC]
MRF9_5V+'I;_>?F@B>\OQ/'E!0%Z$A?S"A6&/7%; ;H';RD#] 1S!>$#-XH.P
M>-=<<I4#:^3'IN"XD"TX4C&A'6.@$+X#/AMHHH:Y**O$H;6BRU*XYG=L.MM$
M-\,#U$]C(Z:L$@?6RLKI_&6C90'&_M8,$/>&V2B9Q(%M<@\[4'Y$K(TNF^@9
MO^2R[%6X#9M4K1!2.HD#^V2N<ET">^#?VS\K98\XL#X6OMUWKB485G=%K?SP
MY08P(N6.N$MYM-8*,66/N!-]- /Z'FQKLJ'\$?_O MDS3H7-I<;],J%$DG0A
M$G;FDR@)]G=,21DE"6T4:N9F9QB33%L""^;8W'TTEI1@DL""(2?QUC!/*-<D
M@5V#)_&C,:0,DP0V##&;UZP8DY).$CIGH5;:[9^:$D\26#SD5-G&I,23!!;/
M\:FR=W EQJ3$DP06SRG,N?+CWFF\>4*))^U$/#V?4OM6#8YF2IDG#6R>4Y@W
MVEJF%<:DS),&-@_1-TT%!<8DM\P"N^<4YE=N#&\-H91R3QK8/:<PZ_6EJ7*,
M25DH#;UO]E.>W?1+H:#>F9JT\HJ4LE :?N>,6+SU,"9EH32PA4C,]J8S9:$T
M=/I#8N+-TI2R4!K80D>7PCV6#.*+NH1WQRD+98$M= *SJ69W6XQ)62@+;*$3
MF+-R*_4;X)&>41;*NLA_WJ/9N\;+XHRR4-9I!H2'4$;^==/E;MNW#&-2%LH"
M6XC&'&),RD)98 O1F".,25DH"VPA&O,<8U(6R@);J)6=]]C9^QH))^@9I9\L
ML'ZH!+W7VC :4OH9-OKI'YX0*&#MEU?%PG^%]?4YE_G2L/JP_V\C&]9;CNM*
MRHFONU,WFA>'!PX.#TM\_@=02P,$%     @ (8!:4SB#;R;$ 0  #1X  !H
M  !X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<\W9.V["0!2%X:T@+R##?9B$
M"*C2T$;9@$6&AV*PY9DHL/L@4I"#4J1!<RIK;/GZKSY;X]EK;)N\ZPYIN^O3
MZ+AO#VE>;7/NGT-(JVW<-^FAZ^/A?&7=#?LFGY?#)O3-ZJ/9Q*#C\20,OV=4
MB]GOF:.W4Q__,[%;KW>K^-*M/O?QD/\8'+ZZX2-M8\S5Z*T9-C'/JW!LKZ=3
MN!SDX3RY&BW?Y]6P?)<JE Y2"-+R009!5C[((<C+!]405)</FD#0I'S0(P0]
ME@]Z@J"G\D%3")J6#Y(QRC@F2+K!FD!K0:Z%P&M!L(5 ;$&RA<!L0;2%0&U!
MMH7 ;4&XA4!N0;J%P&Y!O(5 ;T6]E4!O1;V50&^]^=@FT%M1;R706U%O)=!;
M46\ET%M1;R706U%O)=!;46\ET%M1;R70VU!O(]#;4&\CT-M0;R/0VVXV2PCT
M-M3;"/0VU-L(]#;4VPCT-M3;"/0VU-L(]#;4VPCT=M3;"?1VU-L)]';4VPGT
M=M3;"?3VF\UN KT=]78"O1WU=@*]'?5V KT=]78"O1WU=@*]:]2[OJ?>*9_:
MF*X]/VM\_CVISN=[X_7QE^7/27Q?U!>< _S]77P#4$L#!!0    ( "& 6E.
MA/B=P $    >   3    6T-O;G1E;G1?5'EP97-=+GAM;,W9R6[",!0%T%]!
MV5;$>( . C9MMRV+_H";/" BB2W;4/C[.F&06M&HB$J]FT2)[7=?;.EL,G[;
M6?*];576?I(L0[ /C/EL297VJ;%4QY&Y<94.\=$MF-792B^(B<%@Q#)3!ZI#
M/S0UDNGXB>9Z78;>\S:^]H6I)XFCTB>]Q_W$)FN2:&O+(M,ACK--G7]+Z1\2
MTKBRG>.7A?4W<4+"SB8T(S\''-:];LBY(J?>3+OPHJLXBVU+YL.N))]VESC3
MHYG/BXQRDZVKN"3UUI'._9(H5&6Z+WK3G1SB#M/^RJ_.;\MT!<:9,V>LCR?F
MZ/*XXY$TJ_LV%B(7BNY//"7&TE=_'S6GG5/^R^RXO1_&K=KS\*R]7;_'7\_X
M5/_"/@1('Q*D#P72QQ"DCQ%('[<@?=R!]'$/T@<?H#2"(BI'(96CF,I14.4H
MJG(45CF*JQP%5HXBJT"15:#(*E!D%2BR"A19!8JL D56@2*K0)%5H,@J4625
M*+)*%%DEBJP215:)(JM$D56BR"I19)4HLBH4616*K I%5H4BJT*15:'(JE!D
M52BR*A19%8JLP_^4]=V8U5__DVSN::6+^IC/VA^_TT]02P$"% ,4    "  A
M@%I3!T%-8H$   "Q    $               @ $     9&]C4')O<',O87!P
M+GAM;%!+ 0(4 Q0    ( "& 6E/G:.N*[@   "L"   1              "
M :\   !D;V-0<F]P<R]C;W)E+GAM;%!+ 0(4 Q0    ( "& 6E.97)PC$ 8
M )PG   3              "  <P!  !X;"]T:&5M92]T:&5M93$N>&UL4$L!
M A0#%     @ (8!:4Y+[KJ B!0  314  !@              ("!#0@  'AL
M+W=O<FMS:&5E=',O<VAE970Q+GAM;%!+ 0(4 Q0    ( "& 6E.%6-4S+P8
M &<8   8              " @64-  !X;"]W;W)K<VAE971S+W-H965T,BYX
M;6Q02P$"% ,4    "  A@%I3-3&O=^8"  #%"0  &               @('*
M$P  >&PO=V]R:W-H965T<R]S:&5E=#,N>&UL4$L! A0#%     @ (8!:4_N(
MJ>Z2!P  V"$  !@              ("!YA8  'AL+W=O<FMS:&5E=',O<VAE
M970T+GAM;%!+ 0(4 Q0    ( "& 6E,](/F/T@<  $<K   8
M  " @:X>  !X;"]W;W)K<VAE971S+W-H965T-2YX;6Q02P$"% ,4    "  A
M@%I3I W@J< &   3&@  &               @(&V)@  >&PO=V]R:W-H965T
M<R]S:&5E=#8N>&UL4$L! A0#%     @ (8!:4VEMO,?0"0  ?!@  !@
M         ("!K"T  'AL+W=O<FMS:&5E=',O<VAE970W+GAM;%!+ 0(4 Q0
M   ( "& 6E-O/0R-\ (  +<'   8              " @;(W  !X;"]W;W)K
M<VAE971S+W-H965T."YX;6Q02P$"% ,4    "  A@%I3D@>.:U0%  #&#0
M&               @('8.@  >&PO=V]R:W-H965T<R]S:&5E=#DN>&UL4$L!
M A0#%     @ (8!:4QUMEZ 9!0  =@P  !D              ("!8D   'AL
M+W=O<FMS:&5E=',O<VAE970Q,"YX;6Q02P$"% ,4    "  A@%I3#H%BD]\)
M  !(%P  &0              @(&R10  >&PO=V]R:W-H965T<R]S:&5E=#$Q
M+GAM;%!+ 0(4 Q0    ( "& 6E/.)M*1V ,  '((   9              "
M@<A/  !X;"]W;W)K<VAE971S+W-H965T,3(N>&UL4$L! A0#%     @ (8!:
M4QL!\M H"   *A4  !D              ("!UU,  'AL+W=O<FMS:&5E=',O
M<VAE970Q,RYX;6Q02P$"% ,4    "  A@%I3,J:W;]L*  #O(@  &0
M        @($V7   >&PO=V]R:W-H965T<R]S:&5E=#$T+GAM;%!+ 0(4 Q0
M   ( "& 6E/"Q=*I%0@  &P4   9              " @4AG  !X;"]W;W)K
M<VAE971S+W-H965T,34N>&UL4$L! A0#%     @ (8!:4ZN:,EPW"   YA4
M !D              ("!E&\  'AL+W=O<FMS:&5E=',O<VAE970Q-BYX;6Q0
M2P$"% ,4    "  A@%I3,5RBHHT#  !U"   &0              @($">
M>&PO=V]R:W-H965T<R]S:&5E=#$W+GAM;%!+ 0(4 Q0    ( "& 6E-]F,0:
MR D  "@:   9              " @<9[  !X;"]W;W)K<VAE971S+W-H965T
M,3@N>&UL4$L! A0#%     @ (8!:4VJD@/<8 P  "@<  !D
M ("!Q84  'AL+W=O<FMS:&5E=',O<VAE970Q.2YX;6Q02P$"% ,4    "  A
M@%I3SP:;G2P#   !!P  &0              @($4B0  >&PO=V]R:W-H965T
M<R]S:&5E=#(P+GAM;%!+ 0(4 Q0    ( "& 6E,_JJYJ408  +(0   9
M          " @7>,  !X;"]W;W)K<VAE971S+W-H965T,C$N>&UL4$L! A0#
M%     @ (8!:4_MYHPPF P  :P<  !D              ("!_Y(  'AL+W=O
M<FMS:&5E=',O<VAE970R,BYX;6Q02P$"% ,4    "  A@%I3#GQR>PP#  !*
M!@  &0              @(%<E@  >&PO=V]R:W-H965T<R]S:&5E=#(S+GAM
M;%!+ 0(4 Q0    ( "& 6E/ 1=!_T0,  &4(   9              " @9^9
M  !X;"]W;W)K<VAE971S+W-H965T,C0N>&UL4$L! A0#%     @ (8!:4W>+
M&**, @  C 4  !D              ("!IYT  'AL+W=O<FMS:&5E=',O<VAE
M970R-2YX;6Q02P$"% ,4    "  A@%I3HIT+ 7L#  ##!P  &0
M    @(%JH   >&PO=V]R:W-H965T<R]S:&5E=#(V+GAM;%!+ 0(4 Q0    (
M "& 6E,-1\6I$P0  $04   9              " @1RD  !X;"]W;W)K<VAE
M971S+W-H965T,C<N>&UL4$L! A0#%     @ (8!:4W9,@0S\!0  DBX  !D
M             ("!9J@  'AL+W=O<FMS:&5E=',O<VAE970R."YX;6Q02P$"
M% ,4    "  A@%I38%\L<%0"  #7!0  &0              @(&9K@  >&PO
M=V]R:W-H965T<R]S:&5E=#(Y+GAM;%!+ 0(4 Q0    ( "& 6E-^<A@=1P(
M )\%   9              " @22Q  !X;"]W;W)K<VAE971S+W-H965T,S N
M>&UL4$L! A0#%     @ (8!:4\TX5D=6 P  (@T  !D              ("!
MHK,  'AL+W=O<FMS:&5E=',O<VAE970S,2YX;6Q02P$"% ,4    "  A@%I3
M%W/O';L#  #Z#   &0              @($OMP  >&PO=V]R:W-H965T<R]S
M:&5E=#,R+GAM;%!+ 0(4 Q0    ( "& 6E/2BQ\,P@,  $ ,   9
M      " @2&[  !X;"]W;W)K<VAE971S+W-H965T,S,N>&UL4$L! A0#%
M  @ (8!:4[M5%1D\ P  O D  !D              ("!&K\  'AL+W=O<FMS
M:&5E=',O<VAE970S-"YX;6Q02P$"% ,4    "  A@%I3Z;X0IW4$  "Q$@
M&0              @(&-P@  >&PO=V]R:W-H965T<R]S:&5E=#,U+GAM;%!+
M 0(4 Q0    ( "& 6E.;LPZ:B ,  )L.   9              " @3G'  !X
M;"]W;W)K<VAE971S+W-H965T,S8N>&UL4$L! A0#%     @ (8!:4X'58?W8
M P  E T  !D              ("!^,H  'AL+W=O<FMS:&5E=',O<VAE970S
M-RYX;6Q02P$"% ,4    "  A@%I3*Q@R>;L"  "P!P  &0
M@($'SP  >&PO=V]R:W-H965T<R]S:&5E=#,X+GAM;%!+ 0(4 Q0    ( "&
M6E.6#T^!K@(  ,T&   9              " @?G1  !X;"]W;W)K<VAE971S
M+W-H965T,SDN>&UL4$L! A0#%     @ (8!:4[K$8!I& @    4  !D
M         ("!WM0  'AL+W=O<FMS:&5E=',O<VAE970T,"YX;6Q02P$"% ,4
M    "  A@%I3"65S[GD%   0&0  &0              @(%;UP  >&PO=V]R
M:W-H965T<R]S:&5E=#0Q+GAM;%!+ 0(4 Q0    ( "& 6E-$:,^"%@4  #@6
M   9              " @0O=  !X;"]W;W)K<VAE971S+W-H965T-#(N>&UL
M4$L! A0#%     @ (8!:4Z%+Q0G4 P  )1   !D              ("!6.(
M 'AL+W=O<FMS:&5E=',O<VAE970T,RYX;6Q02P$"% ,4    "  A@%I3%$I-
M;<X#  #_#@  &0              @(%CY@  >&PO=V]R:W-H965T<R]S:&5E
M=#0T+GAM;%!+ 0(4 Q0    ( "& 6E/_4M2K^0,  ,4/   9
M  " @6CJ  !X;"]W;W)K<VAE971S+W-H965T-#4N>&UL4$L! A0#%     @
M(8!:4RJB6;5K @  SP8  !D              ("!F.X  'AL+W=O<FMS:&5E
M=',O<VAE970T-BYX;6Q02P$"% ,4    "  A@%I3=X88\Y,"  #$!@  &0
M            @($Z\0  >&PO=V]R:W-H965T<R]S:&5E=#0W+GAM;%!+ 0(4
M Q0    ( "& 6E/.'H(EC0(  ,4'   9              " @03T  !X;"]W
M;W)K<VAE971S+W-H965T-#@N>&UL4$L! A0#%     @ (8!:4V?A)Y'A @
MW0@  !D              ("!R/8  'AL+W=O<FMS:&5E=',O<VAE970T.2YX
M;6Q02P$"% ,4    "  A@%I3E*IU>?$#  #%#0  &0              @('@
M^0  >&PO=V]R:W-H965T<R]S:&5E=#4P+GAM;%!+ 0(4 Q0    ( "& 6E/F
MH_8G)0,  &@2   -              "  0C^  !X;"]S='EL97,N>&UL4$L!
M A0#%     @ (8!:4Y>*NQS     $P(   L              ( !6 $! %]R
M96QS+RYR96QS4$L! A0#%     @ (8!:4]B7@>E!!   L"$   \
M     ( !00(! 'AL+W=O<FMB;V]K+GAM;%!+ 0(4 Q0    ( "& 6E,X@V\F
MQ $   T>   :              "  :\& 0!X;"]?<F5L<R]W;W)K8F]O:RYX
M;6PN<F5L<U!+ 0(4 Q0    ( "& 6E. A/B=P $    >   3
M  "  :L( 0!;0V]N=&5N=%]4>7!E<UTN>&UL4$L%!@     Z #H S0\  )P*
$ 0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<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>66
<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>67
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.21.2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>206</ContextCount>
  <ElementCount>318</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>64</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>6</UnitCount>
  <MyReports>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0001001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>1001002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>1002003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>1003004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>1004005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>1005006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>2101101 - Disclosure - Company and Basis of Presentation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/CompanyandBasisofPresentation</Role>
      <ShortName>Company and Basis of Presentation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>2102102 - Disclosure - Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/SignificantAccountingPolicies</Role>
      <ShortName>Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>2104103 - Disclosure - Cash, Cash Equivalents, and Marketable Securities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/CashCashEquivalentsandMarketableSecurities</Role>
      <ShortName>Cash, Cash Equivalents, and Marketable Securities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>2107104 - Disclosure - Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/FairValueMeasurements</Role>
      <ShortName>Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>2110105 - Disclosure - Balance Sheet Details</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/BalanceSheetDetails</Role>
      <ShortName>Balance Sheet Details</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>2119106 - Disclosure - Credit Agreement</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/CreditAgreement</Role>
      <ShortName>Credit Agreement</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>2121107 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/CommitmentsandContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>2126108 - Disclosure - Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/StockholdersEquity</Role>
      <ShortName>Stockholders' Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>2132109 - Disclosure - Revenue from Contracts with Customers</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/RevenuefromContractswithCustomers</Role>
      <ShortName>Revenue from Contracts with Customers</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>2139110 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>2142111 - Disclosure - Net Income Per Common Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/NetIncomePerCommonShare</Role>
      <ShortName>Net Income Per Common Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>2203201 - Disclosure - Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/SignificantAccountingPoliciesPolicies</Role>
      <ShortName>Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.calix.com/role/SignificantAccountingPolicies</ParentRole>
      <Position>18</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>2305301 - Disclosure - Cash, Cash Equivalents and Restricted Cash (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/CashCashEquivalentsandRestrictedCashTables</Role>
      <ShortName>Cash, Cash Equivalents and Restricted Cash (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>2308302 - Disclosure - Fair Value Measures and Disclosures (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/FairValueMeasuresandDisclosuresTables</Role>
      <ShortName>Fair Value Measures and Disclosures (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>2311303 - Disclosure - Balance Sheet Details (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/BalanceSheetDetailsTables</Role>
      <ShortName>Balance Sheet Details (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.calix.com/role/BalanceSheetDetails</ParentRole>
      <Position>21</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>2322304 - Disclosure - Commitments and Contingencies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/CommitmentsandContingenciesTables</Role>
      <ShortName>Commitments and Contingencies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.calix.com/role/CommitmentsandContingencies</ParentRole>
      <Position>22</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>2327305 - Disclosure - Stockholders' Equity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/StockholdersEquityTables</Role>
      <ShortName>Stockholders' Equity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.calix.com/role/StockholdersEquity</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>2333306 - Disclosure - Revenue from Contracts with Customers (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/RevenuefromContractswithCustomersTables</Role>
      <ShortName>Revenue from Contracts with Customers (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.calix.com/role/RevenuefromContractswithCustomers</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>2340307 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/IncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.calix.com/role/IncomeTaxes</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>2343308 - Disclosure - Net Income Per Common Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/NetIncomePerCommonShareTables</Role>
      <ShortName>Net Income Per Common Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.calix.com/role/NetIncomePerCommonShare</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>2406401 - Disclosure - Cash, Cash Equivalents, and Marketable Securities - (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails</Role>
      <ShortName>Cash, Cash Equivalents, and Marketable Securities - (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.calix.com/role/CashCashEquivalentsandMarketableSecurities</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>2409402 - Disclosure - Fair Value Measures and Disclosures (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails</Role>
      <ShortName>Fair Value Measures and Disclosures (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.calix.com/role/FairValueMeasuresandDisclosuresTables</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>2412403 - Disclosure - Balance Sheet Details - Accounts Receivable (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails</Role>
      <ShortName>Balance Sheet Details - Accounts Receivable (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>2413404 - Disclosure - Balance Sheet Details - Inventory (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/BalanceSheetDetailsInventoryDetails</Role>
      <ShortName>Balance Sheet Details - Inventory (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>2414405 - Disclosure - Balance Sheet Details - Property and Equipment, net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails</Role>
      <ShortName>Balance Sheet Details - Property and Equipment, net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>2415406 - Disclosure - Balance Sheet Details - Loss on Asset Retirement (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails</Role>
      <ShortName>Balance Sheet Details - Loss on Asset Retirement (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>32</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>2416407 - Disclosure - Balance Sheet Details - Accrued Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails</Role>
      <ShortName>Balance Sheet Details - Accrued Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>33</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>2417408 - Disclosure - Balance Sheet Details - Warranty Reserve (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/BalanceSheetDetailsWarrantyReserveDetails</Role>
      <ShortName>Balance Sheet Details - Warranty Reserve (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>34</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>2418409 - Disclosure - Balance Sheet Details - Restructuring (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails</Role>
      <ShortName>Balance Sheet Details - Restructuring (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>2420410 - Disclosure - Credit Agreements - Line of Credit (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/CreditAgreementsLineofCreditDetails</Role>
      <ShortName>Credit Agreements - Line of Credit (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>2423411 - Disclosure - Commitments and Contingencies - Textual (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/CommitmentsandContingenciesTextualDetails</Role>
      <ShortName>Commitments and Contingencies - Textual (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>2424412 - Disclosure - Commitments and Contingencies - Operating Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails</Role>
      <ShortName>Commitments and Contingencies - Operating Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>2425413 - Disclosure - Commitments and Contingencies - Operating Lease Liability (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails</Role>
      <ShortName>Commitments and Contingencies - Operating Lease Liability (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>2428414 - Disclosure - Stockholders' Equity - 2019 Equity Incentive Award Plan (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/StockholdersEquity2019EquityIncentiveAwardPlanDetails</Role>
      <ShortName>Stockholders' Equity - 2019 Equity Incentive Award Plan (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>2429415 - Disclosure - Stockholders' Equity - Stock Options (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/StockholdersEquityStockOptionsDetails</Role>
      <ShortName>Stockholders' Equity - Stock Options (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>2430416 - Disclosure - Stockholders' Equity - Employee Stock Purchase Plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails</Role>
      <ShortName>Stockholders' Equity - Employee Stock Purchase Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>2431417 - Disclosure - Stockholders' Equity - Stock-Based Compensation Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails</Role>
      <ShortName>Stockholders' Equity - Stock-Based Compensation Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>2434418 - Disclosure - Revenue from Contracts with Customers - Revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails</Role>
      <ShortName>Revenue from Contracts with Customers - Revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>2435419 - Disclosure - Revenue from Contracts with Customers - Contract Asset and Liability (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails</Role>
      <ShortName>Revenue from Contracts with Customers - Contract Asset and Liability (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>2436420 - Disclosure - Revenue from Contracts with Customers - Contract Costs (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails</Role>
      <ShortName>Revenue from Contracts with Customers - Contract Costs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>2437421 - Disclosure - Revenue from Contracts with Customers - Performance Obligations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails</Role>
      <ShortName>Revenue from Contracts with Customers - Performance Obligations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>2438422 - Disclosure - Revenue from Contracts with Customers - Concentration Risk (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails</Role>
      <ShortName>Revenue from Contracts with Customers - Concentration Risk (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>2441423 - Disclosure - Income Taxes - (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/IncomeTaxesDetails</Role>
      <ShortName>Income Taxes - (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.calix.com/role/IncomeTaxesTables</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="calx-20211002.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>2444424 - Disclosure - Net Income Per Common Share - (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.calix.com/role/NetIncomePerCommonShareDetails</Role>
      <ShortName>Net Income Per Common Share - (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.calix.com/role/NetIncomePerCommonShareTables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-Q" original="calx-20211002.htm">calx-20211002.htm</File>
    <File>calx-20211002.xsd</File>
    <File>calx-20211002_cal.xml</File>
    <File>calx-20211002_def.xml</File>
    <File>calx-20211002_lab.xml</File>
    <File>calx-20211002_pre.xml</File>
    <File>calx_21q3ex311.htm</File>
    <File>calx_21q3ex312.htm</File>
    <File>calx_21q3ex321.htm</File>
    <File>exhibit101non-employeedire.htm</File>
    <File>exhibit102secondamendmentt.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy>http://fasb.org/us-gaap/2020-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2020-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://fasb.org/srt/2020-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/country/2020-01-31</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>70
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "calx-20211002.htm": {
   "axisCustom": 0,
   "axisStandard": 25,
   "contextCount": 206,
   "dts": {
    "calculationLink": {
     "local": [
      "calx-20211002_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "calx-20211002_def.xml"
     ],
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-eedm-def-2020-01-31.xml",
      "http://xbrl.fasb.org/srt/2020/elts/srt-eedm1-def-2020-01-31.xml"
     ]
    },
    "inline": {
     "local": [
      "calx-20211002.htm"
     ]
    },
    "labelLink": {
     "local": [
      "calx-20211002_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "calx-20211002_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "calx-20211002.xsd"
     ],
     "remote": [
      "http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd",
      "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/dtr/type/numeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://xbrl.fasb.org/srt/2020/elts/srt-types-2020-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-roles-2020-01-31.xsd",
      "http://xbrl.fasb.org/srt/2020/elts/srt-roles-2020-01-31.xsd",
      "https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-types-2020-01-31.xsd",
      "https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd"
     ]
    }
   },
   "elementCount": 427,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2020-01-31": 2,
    "http://xbrl.sec.gov/dei/2020-01-31": 5,
    "total": 7
   },
   "keyCustom": 28,
   "keyStandard": 290,
   "memberCustom": 18,
   "memberStandard": 43,
   "nsprefix": "calx",
   "nsuri": "http://www.calix.com/20211002",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "0001001 - Document - Cover",
     "role": "http://www.calix.com/role/Cover",
     "shortName": "Cover",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2107104 - Disclosure - Fair Value Measurements",
     "role": "http://www.calix.com/role/FairValueMeasurements",
     "shortName": "Fair Value Measurements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2110105 - Disclosure - Balance Sheet Details",
     "role": "http://www.calix.com/role/BalanceSheetDetails",
     "shortName": "Balance Sheet Details",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2119106 - Disclosure - Credit Agreement",
     "role": "http://www.calix.com/role/CreditAgreement",
     "shortName": "Credit Agreement",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2121107 - Disclosure - Commitments and Contingencies",
     "role": "http://www.calix.com/role/CommitmentsandContingencies",
     "shortName": "Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2126108 - Disclosure - Stockholders' Equity",
     "role": "http://www.calix.com/role/StockholdersEquity",
     "shortName": "Stockholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2132109 - Disclosure - Revenue from Contracts with Customers",
     "role": "http://www.calix.com/role/RevenuefromContractswithCustomers",
     "shortName": "Revenue from Contracts with Customers",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2139110 - Disclosure - Income Taxes",
     "role": "http://www.calix.com/role/IncomeTaxes",
     "shortName": "Income Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2142111 - Disclosure - Net Income Per Common Share",
     "role": "http://www.calix.com/role/NetIncomePerCommonShare",
     "shortName": "Net Income Per Common Share",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2203201 - Disclosure - Significant Accounting Policies (Policies)",
     "role": "http://www.calix.com/role/SignificantAccountingPoliciesPolicies",
     "shortName": "Significant Accounting Policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2305301 - Disclosure - Cash, Cash Equivalents and Restricted Cash (Tables)",
     "role": "http://www.calix.com/role/CashCashEquivalentsandRestrictedCashTables",
     "shortName": "Cash, Cash Equivalents and Restricted Cash (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1001002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS",
     "role": "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:PrepaidExpenseAndOtherAssetsCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2308302 - Disclosure - Fair Value Measures and Disclosures (Tables)",
     "role": "http://www.calix.com/role/FairValueMeasuresandDisclosuresTables",
     "shortName": "Fair Value Measures and Disclosures (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2311303 - Disclosure - Balance Sheet Details (Tables)",
     "role": "http://www.calix.com/role/BalanceSheetDetailsTables",
     "shortName": "Balance Sheet Details (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2322304 - Disclosure - Commitments and Contingencies (Tables)",
     "role": "http://www.calix.com/role/CommitmentsandContingenciesTables",
     "shortName": "Commitments and Contingencies (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2327305 - Disclosure - Stockholders' Equity (Tables)",
     "role": "http://www.calix.com/role/StockholdersEquityTables",
     "shortName": "Stockholders' Equity (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2333306 - Disclosure - Revenue from Contracts with Customers (Tables)",
     "role": "http://www.calix.com/role/RevenuefromContractswithCustomersTables",
     "shortName": "Revenue from Contracts with Customers (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2340307 - Disclosure - Income Taxes (Tables)",
     "role": "http://www.calix.com/role/IncomeTaxesTables",
     "shortName": "Income Taxes (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2343308 - Disclosure - Net Income Per Common Share (Tables)",
     "role": "http://www.calix.com/role/NetIncomePerCommonShareTables",
     "shortName": "Net Income Per Common Share (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2406401 - Disclosure - Cash, Cash Equivalents, and Marketable Securities - (Details)",
     "role": "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails",
     "shortName": "Cash, Cash Equivalents, and Marketable Securities - (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-3",
      "lang": "en-US",
      "name": "calx:CashCashEquivalentsAndMarketableSecurities",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2409402 - Disclosure - Fair Value Measures and Disclosures (Details)",
     "role": "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails",
     "shortName": "Fair Value Measures and Disclosures (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib2ac7f1f33ac4acd8cc838e0542e5b52_I20211002",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:AssetsFairValueDisclosure",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2412403 - Disclosure - Balance Sheet Details - Accounts Receivable (Details)",
     "role": "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails",
     "shortName": "Balance Sheet Details - Accounts Receivable (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PreferredStockParOrStatedValuePerShare",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1002003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "role": "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PreferredStockParOrStatedValuePerShare",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2413404 - Disclosure - Balance Sheet Details - Inventory (Details)",
     "role": "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails",
     "shortName": "Balance Sheet Details - Inventory (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2414405 - Disclosure - Balance Sheet Details - Property and Equipment, net (Details)",
     "role": "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails",
     "shortName": "Balance Sheet Details - Property and Equipment, net (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsNetExcludingGoodwill",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2415406 - Disclosure - Balance Sheet Details - Loss on Asset Retirement (Details)",
     "role": "http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails",
     "shortName": "Balance Sheet Details - Loss on Asset Retirement (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsNetExcludingGoodwill",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2416407 - Disclosure - Balance Sheet Details - Accrued Liabilities (Details)",
     "role": "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails",
     "shortName": "Balance Sheet Details - Accrued Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ibdff310060b846bfb5608e4f0b9de9d5_I20210703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyAccrual",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2417408 - Disclosure - Balance Sheet Details - Warranty Reserve (Details)",
     "role": "http://www.calix.com/role/BalanceSheetDetailsWarrantyReserveDetails",
     "shortName": "Balance Sheet Details - Warranty Reserve (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ibdff310060b846bfb5608e4f0b9de9d5_I20210703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyAccrual",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RestructuringCharges",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2418409 - Disclosure - Balance Sheet Details - Restructuring (Details)",
     "role": "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails",
     "shortName": "Balance Sheet Details - Restructuring (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:PaymentsForRestructuring",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i5bea453f7dc8426ba1c703b598ad6e30_I20211002",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2420410 - Disclosure - Credit Agreements - Line of Credit (Details)",
     "role": "http://www.calix.com/role/CreditAgreementsLineofCreditDetails",
     "shortName": "Credit Agreements - Line of Credit (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i5bea453f7dc8426ba1c703b598ad6e30_I20211002",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2423411 - Disclosure - Commitments and Contingencies - Textual (Details)",
     "role": "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails",
     "shortName": "Commitments and Contingencies - Textual (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002",
      "decimals": "-5",
      "lang": "en-US",
      "name": "us-gaap:OperatingLeaseExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2424412 - Disclosure - Commitments and Contingencies - Operating Leases (Details)",
     "role": "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails",
     "shortName": "Commitments and Contingencies - Operating Leases (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "calx:LesseeOperatingLeaseLiabilityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeaseLiabilityCurrent",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2425413 - Disclosure - Commitments and Contingencies - Operating Lease Liability (Details)",
     "role": "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails",
     "shortName": "Commitments and Contingencies - Operating Lease Liability (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1003004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "role": "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002",
      "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": "calx-20211002.htm",
      "contextRef": "iaedd2a09379f479bb16fa0ffec45f2ee_I20211002",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2428414 - Disclosure - Stockholders' Equity - 2019 Equity Incentive Award Plan (Details)",
     "role": "http://www.calix.com/role/StockholdersEquity2019EquityIncentiveAwardPlanDetails",
     "shortName": "Stockholders' Equity - 2019 Equity Incentive Award Plan (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "iaedd2a09379f479bb16fa0ffec45f2ee_I20211002",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2429415 - Disclosure - Stockholders' Equity - Stock Options (Details)",
     "role": "http://www.calix.com/role/StockholdersEquityStockOptionsDetails",
     "shortName": "Stockholders' Equity - Stock Options (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "calx:NumberOfEmployeeStockPurchasePlans",
      "reportCount": 1,
      "unique": true,
      "unitRef": "plan",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2430416 - Disclosure - Stockholders' Equity - Employee Stock Purchase Plans (Details)",
     "role": "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails",
     "shortName": "Stockholders' Equity - Employee Stock Purchase Plans (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "calx:NumberOfEmployeeStockPurchasePlans",
      "reportCount": 1,
      "unique": true,
      "unitRef": "plan",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2431417 - Disclosure - Stockholders' Equity - Stock-Based Compensation Expense (Details)",
     "role": "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails",
     "shortName": "Stockholders' Equity - Stock-Based Compensation Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2434418 - Disclosure - Revenue from Contracts with Customers - Revenue (Details)",
     "role": "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails",
     "shortName": "Revenue from Contracts with Customers - Revenue (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i7a14c192c5bf450ca474d4f8328b23e5_D20210704-20211002",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ContractWithCustomerAssetNet",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2435419 - Disclosure - Revenue from Contracts with Customers - Contract Asset and Liability (Details)",
     "role": "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails",
     "shortName": "Revenue from Contracts with Customers - Contract Asset and Liability (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib19f5f7e13be498db0149ec44e7d5b8f_I20201231",
      "decimals": "-5",
      "lang": "en-US",
      "name": "us-gaap:ContractWithCustomerAssetNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CapitalizedContractCostGross",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2436420 - Disclosure - Revenue from Contracts with Customers - Contract Costs (Details)",
     "role": "http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails",
     "shortName": "Revenue from Contracts with Customers - Contract Costs (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002",
      "decimals": "-5",
      "lang": "en-US",
      "name": "us-gaap:CapitalizedContractCostAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2437421 - Disclosure - Revenue from Contracts with Customers - Performance Obligations (Details)",
     "role": "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails",
     "shortName": "Revenue from Contracts with Customers - Performance Obligations (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ib4194844b22648f788a74d13c0226609_I20211002",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i4780b123b7ca49ad991b6a42ed99f6a0_D20210704-20211002",
      "decimals": "2",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2438422 - Disclosure - Revenue from Contracts with Customers - Concentration Risk (Details)",
     "role": "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails",
     "shortName": "Revenue from Contracts with Customers - Concentration Risk (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i4780b123b7ca49ad991b6a42ed99f6a0_D20210704-20211002",
      "decimals": "2",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxExpenseBenefit",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2441423 - Disclosure - Income Taxes - (Details)",
     "role": "http://www.calix.com/role/IncomeTaxesDetails",
     "shortName": "Income Taxes - (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002",
      "decimals": "3",
      "lang": "en-US",
      "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "id735c32780e2439cb1c3e925a33155a7_I20191231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommonStockSharesOutstanding",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1004005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "role": "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "id735c32780e2439cb1c3e925a33155a7_I20191231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommonStockSharesOutstanding",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2444424 - Disclosure - Net Income Per Common Share - (Details)",
     "role": "http://www.calix.com/role/NetIncomePerCommonShareDetails",
     "shortName": "Net Income Per Common Share - (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "ie8ece1af240b4a1d84c71945128d8694_D20210704-20211002",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:ProfitLoss",
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1005006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "role": "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:Depreciation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2101101 - Disclosure - Company and Basis of Presentation",
     "role": "http://www.calix.com/role/CompanyandBasisofPresentation",
     "shortName": "Company and Basis of Presentation",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2102102 - Disclosure - Significant Accounting Policies",
     "role": "http://www.calix.com/role/SignificantAccountingPolicies",
     "shortName": "Significant Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2104103 - Disclosure - Cash, Cash Equivalents, and Marketable Securities",
     "role": "http://www.calix.com/role/CashCashEquivalentsandMarketableSecurities",
     "shortName": "Cash, Cash Equivalents, and Marketable Securities",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "calx-20211002.htm",
      "contextRef": "i1334c3695cd7415bb1af6f747302d319_D20210101-20211002",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 64,
   "tag": {
    "calx_A2017NonqualifiedEmployeeStockPurchasePlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "2017 Nonqualified Employee Stock Purchase Plan",
        "label": "2017 Nonqualified Employee Stock Purchase Plan [Member]",
        "terseLabel": "2017 Nonqualified Employee Stock Purchase Plan"
       }
      }
     },
     "localname": "A2017NonqualifiedEmployeeStockPurchasePlanMember",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "calx_A2019EquityIncentiveAwardPlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "2019 Equity Incentive Award Plan [Member]",
        "label": "2019 Equity Incentive Award Plan [Member]",
        "terseLabel": "2019 Equity Incentive Award Plan"
       }
      }
     },
     "localname": "A2019EquityIncentiveAwardPlanMember",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquity2019EquityIncentiveAwardPlanDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "calx_A2021PerformanceTargetsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "2021 Performance Targets",
        "label": "2021 Performance Targets [Member]",
        "terseLabel": "2021 Performance Targets"
       }
      }
     },
     "localname": "A2021PerformanceTargetsMember",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "calx_AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued Common Areas Maintenance Fees And Property Taxes, Write Off",
        "label": "Accrued Common Areas Maintenance Fees And Property Taxes, Write Off",
        "terseLabel": "Accrued common areas maintenance fees and property taxes, write-off"
       }
      }
     },
     "localname": "AccruedCommonAreasMaintenanceFeesAndPropertyTaxesWriteOff",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "calx_AccruedCustomerRebates": {
     "auth_ref": [],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": {
       "order": 12.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued customer rebates.",
        "label": "Accrued Customer Rebates",
        "terseLabel": "Customer advances or rebates"
       }
      }
     },
     "localname": "AccruedCustomerRebates",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer": {
     "auth_ref": [],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued excess and obsolete inventory at contract manufacturer.",
        "label": "Accrued Excess and Obsolete Inventory At Contract Manufacturer",
        "terseLabel": "Accrued customer rebates/prepayments",
        "verboseLabel": "Component inventory held by suppliers"
       }
      }
     },
     "localname": "AccruedExcessAndObsoleteInventoryAtContractManufacturer",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails",
      "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "calx_AccruedFreight": {
     "auth_ref": [],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued Freight",
        "label": "Accrued Freight",
        "terseLabel": "Freight"
       }
      }
     },
     "localname": "AccruedFreight",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All Platform Future And Work-From-Anywhere Culture Alignment",
        "label": "All Platform Future And Work-From-Anywhere Culture Alignment [Member]",
        "terseLabel": "All Platform Future And Work-From-Anywhere Culture Alignment"
       }
      }
     },
     "localname": "AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "calx_AmericasExUSMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Americas ex U.S.",
        "label": "Americas ex U.S. [Member]",
        "terseLabel": "Americas ex U.S."
       }
      }
     },
     "localname": "AmericasExUSMember",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "calx_AssetWriteOff": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Asset Write Off",
        "label": "Asset Write Off",
        "terseLabel": "Asset, write-off"
       }
      }
     },
     "localname": "AssetWriteOff",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "calx_BankOfAmericaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Bank Of America [Member]",
        "label": "Bank Of America [Member]",
        "terseLabel": "Bank Of America"
       }
      }
     },
     "localname": "BankOfAmericaMember",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "calx_CashCashEquivalentsAndMarketableSecurities": {
     "auth_ref": [],
     "calculation": {
      "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash, Cash Equivalents, And Marketable Securities",
        "label": "Cash, Cash Equivalents, And Marketable Securities",
        "totalLabel": "Cash, Cash Equivalents, and Marketable Securities"
       }
      }
     },
     "localname": "CashCashEquivalentsAndMarketableSecurities",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract With Customer, Asset, Expected To Be Billed Remainder Of Year, Percent",
        "label": "Contract With Customer, Asset, Expected To Be Billed Remainder Of Year, Percent",
        "terseLabel": "Contract with customer, asset, expected to be billed remainder of year, percent"
       }
      }
     },
     "localname": "ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "calx_ContractwithCustomerAssetPriorPeriodNotRecognized": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with Customer, Asset, Prior Period, Not Recognized",
        "label": "Contract with Customer, Asset, Prior Period, Not Recognized",
        "terseLabel": "Contract with customer, asset, prior period, not recognized"
       }
      }
     },
     "localname": "ContractwithCustomerAssetPriorPeriodNotRecognized",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "calx_CostOfRevenueProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cost Of Revenue, Products [Member]",
        "label": "Cost Of Revenue, Products [Member]",
        "terseLabel": "Products"
       }
      }
     },
     "localname": "CostOfRevenueProductsMember",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "calx_CostOfRevenueServicesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cost Of Revenue, Services [Member]",
        "label": "Cost Of Revenue, Services [Member]",
        "terseLabel": "Services"
       }
      }
     },
     "localname": "CostOfRevenueServicesMember",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "calx_ExtendedWarrantyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Extended Warranty",
        "label": "Extended Warranty [Member]",
        "terseLabel": "Extended warranty"
       }
      }
     },
     "localname": "ExtendedWarrantyMember",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "calx_InterestAndOtherIncomeExpenseNonoperating": {
     "auth_ref": [],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest And Other Income (Expense), Nonoperating",
        "label": "Interest And Other Income (Expense), Nonoperating",
        "totalLabel": "Total interest and other expense, net"
       }
      }
     },
     "localname": "InterestAndOtherIncomeExpenseNonoperating",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "calx_LesseeOperatingLeaseLiabilityTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Operating Lease Liability",
        "label": "Lessee, Operating Lease Liability [Table Text Block]",
        "terseLabel": "Lessee, operating lease liability"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityTableTextBlock",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/CommitmentsandContingenciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "calx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour": {
     "auth_ref": [],
     "calculation": {
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails": {
       "order": 2.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.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "calx_LumenTechnologiesIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lumen Technologies, Inc.",
        "label": "Lumen Technologies, Inc. [Member]",
        "terseLabel": "Lumen Technologies, Inc."
       }
      }
     },
     "localname": "LumenTechnologiesIncMember",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "calx_MiddleEastAndAfricaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Middle East And Africa",
        "label": "Middle East And Africa [Member]",
        "terseLabel": "Middle East &amp; Africa"
       }
      }
     },
     "localname": "MiddleEastAndAfricaMember",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "calx_NumberOfEmployeeStockPurchasePlans": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number Of Employee Stock Purchase Plans",
        "label": "Number Of Employee Stock Purchase Plans",
        "terseLabel": "Number of employee stock purchase plans"
       }
      }
     },
     "localname": "NumberOfEmployeeStockPurchasePlans",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "calx_OneCustomerMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "One Customer",
        "label": "One Customer [Member]",
        "terseLabel": "One Customer"
       }
      }
     },
     "localname": "OneCustomerMember",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "calx_PaymentsForFinancingArrangements": {
     "auth_ref": [],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payments For Financing Arrangements",
        "label": "Payments For Financing Arrangements",
        "negatedTerseLabel": "Payments related to financing arrangements"
       }
      }
     },
     "localname": "PaymentsForFinancingArrangements",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "calx_PerformanceBasedStockOptionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Performance Based Stock Options",
        "label": "Performance Based Stock Options [Member]",
        "terseLabel": "Performance Based Stock Options"
       }
      }
     },
     "localname": "PerformanceBasedStockOptionsMember",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "calx_ProductAndServicesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Product and Services",
        "label": "Product and Services [Member]",
        "terseLabel": "Products and services"
       }
      }
     },
     "localname": "ProductAndServicesMember",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "calx_ProductReturnReserveCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": {
       "order": 11.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Product Return Reserve, Current",
        "label": "Product Return Reserve, Current",
        "terseLabel": "Product returns"
       }
      }
     },
     "localname": "ProductReturnReserveCurrent",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "calx_RevenueShareObligationCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": {
       "order": 9.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue Share Obligation, Current",
        "label": "Revenue Share Obligation, Current",
        "terseLabel": "Current portion of revenue share obligations"
       }
      }
     },
     "localname": "RevenueShareObligationCurrent",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "calx_RichardsonTexasAndSanJoseCaliforniaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Richardson, Texas And San Jose, California",
        "label": "Richardson, Texas And San Jose, California [Member]",
        "terseLabel": "Richardson, Texas and San Jose, California"
       }
      }
     },
     "localname": "RichardsonTexasAndSanJoseCaliforniaMember",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "calx_SanJoseCaliforniaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "San Jose, California",
        "label": "San Jose, California [Member]",
        "terseLabel": "San Jose, California"
       }
      }
     },
     "localname": "SanJoseCaliforniaMember",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Bookings, Target Achievement Performance Threshold, Percent",
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Bookings, Target Achievement Performance Threshold, Percent",
        "terseLabel": "Bookings, target achievement performance threshold, percent"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Employee Termination Period Following Purchase Date To Receive Shares Subject To Risk Of Forfeiture",
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Employee Termination Period Following Purchase Date To Receive Shares Subject To Risk Of Forfeiture",
        "terseLabel": "Employee termination period following purchase date to receive shares subject to risk of forfeiture"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Maximum Contribution Percent",
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Maximum Contribution Percent",
        "terseLabel": "Maximum contribution percent (up to 25%)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Net Income Per Share, Target Achievement Performance Threshold, Percent",
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Net Income Per Share, Target Achievement Performance Threshold, Percent",
        "terseLabel": "Net income per share, target achievement performance threshold, percent"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Offering Periods",
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Offering Periods",
        "terseLabel": "Number of offering periods"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Authorized Per Purchase Period",
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Authorized Per Purchase Period",
        "terseLabel": "Number of shares authorized per purchase period (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant, Additional Shares",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant, Additional Shares",
        "terseLabel": "Shares available for issuance, additional shares (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquity2019EquityIncentiveAwardPlanDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Granted If Target Achievement Performance Threshold Not Met",
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Granted If Target Achievement Performance Threshold Not Met",
        "terseLabel": "Number of shares granted if no-GAAP income below 80% and bookings below 90% of target (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Offering Period",
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Offering Period",
        "terseLabel": "Offering period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Threshold, Percent",
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Threshold, Percent",
        "terseLabel": "Target achievement threshold for shares award sliding scale"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Weighting Percent For Target Achievement Performance Threshold, Percent",
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Weighting Percent For Target Achievement Performance Threshold, Percent",
        "terseLabel": "Shares award weighting percent"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Offering Period",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Offering Period",
        "terseLabel": "Offering period"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "calx_SoftwareMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Software",
        "label": "Software [Member]",
        "terseLabel": "Software"
       }
      }
     },
     "localname": "SoftwareMember",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "calx_SystemsProductMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Systems Product [Member]",
        "label": "Systems Product [Member]",
        "terseLabel": "Systems"
       }
      }
     },
     "localname": "SystemsProductMember",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "domainItemType"
    },
    "calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes": {
     "auth_ref": [],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Taxes Payable, Current, Excluding Accrued Income Taxes",
        "label": "Taxes Payable, Current, Excluding Accrued Income Taxes",
        "terseLabel": "Taxes payable"
       }
      }
     },
     "localname": "TaxesPayableCurrentExcludingAccruedIncomeTaxes",
     "nsuri": "http://www.calix.com/20211002",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "country_US": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES",
        "terseLabel": "United States"
       }
      }
     },
     "localname": "US",
     "nsuri": "http://xbrl.sec.gov/country/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date",
        "terseLabel": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date",
        "terseLabel": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r453"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r454"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type",
        "terseLabel": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town",
        "terseLabel": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province",
        "terseLabel": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r455"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding",
        "terseLabel": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status",
        "terseLabel": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r455"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number",
        "terseLabel": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r455"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code",
        "terseLabel": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r456"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r455"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r455"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r455"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r455"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r451"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r452"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/Cover"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "srt_AsiaPacificMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asia Pacific [Member]",
        "terseLabel": "Asia Pacific"
       }
      }
     },
     "localname": "AsiaPacificMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_EuropeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Europe [Member]",
        "terseLabel": "Europe"
       }
      }
     },
     "localname": "EuropeMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ExecutiveOfficerMember": {
     "auth_ref": [
      "r150"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Officer [Member]",
        "terseLabel": "Executive Officer"
       }
      }
     },
     "localname": "ExecutiveOfficerMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r149",
      "r247",
      "r253",
      "r428"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]",
        "terseLabel": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r268",
      "r269",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r391",
      "r425",
      "r429"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r268",
      "r269",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r391",
      "r425",
      "r429"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r149",
      "r247",
      "r253",
      "r428"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]",
        "terseLabel": "Customer [Domain]"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r145",
      "r247",
      "r251",
      "r392",
      "r424",
      "r426"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]",
        "terseLabel": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r145",
      "r247",
      "r251",
      "r392",
      "r424",
      "r426"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]",
        "terseLabel": "Product and Service [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r259",
      "r268",
      "r269",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r391",
      "r425",
      "r429"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]",
        "terseLabel": "Statistical Measurement [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r259",
      "r268",
      "r269",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r391",
      "r425",
      "r429"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]",
        "terseLabel": "Statistical Measurement [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r146",
      "r147",
      "r247",
      "r252",
      "r427",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]",
        "terseLabel": "Geographical [Domain]"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails",
      "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails",
      "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r146",
      "r147",
      "r247",
      "r252",
      "r427",
      "r438",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]",
        "terseLabel": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails",
      "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails",
      "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualAxis": {
     "auth_ref": [
      "r150",
      "r360"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]",
        "terseLabel": "Title of Individual [Axis]"
       }
      }
     },
     "localname": "TitleOfIndividualAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Domain]",
        "terseLabel": "Title of Individual [Domain]"
       }
      }
     },
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]",
        "terseLabel": "Accounting Policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r38"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 3.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",
        "verboseLabel": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableGrossCurrent": {
     "auth_ref": [
      "r151",
      "r152"
     ],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts Receivable, before Allowance for Credit Loss, Current",
        "verboseLabel": "Accounts receivable"
       }
      }
     },
     "localname": "AccountsReceivableGrossCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r4",
      "r19",
      "r151",
      "r152"
     ],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 3.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",
        "totalLabel": "Accounts receivable, net",
        "verboseLabel": "Accounts receivable, net"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails",
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNetCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current [Abstract]",
        "verboseLabel": "Summary of accounts receivable, net"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r41"
     ],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.calix.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",
        "totalLabel": "Total accrued liabilities",
        "verboseLabel": "Accrued liabilities"
       }
      }
     },
     "localname": "AccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails",
      "http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails",
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Liabilities, Current [Abstract]",
        "verboseLabel": "Summary of accrued liabilities"
       }
      }
     },
     "localname": "AccruedLiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccruedProfessionalFeesCurrent": {
     "auth_ref": [
      "r7",
      "r9",
      "r41"
     ],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": {
       "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 through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Professional Fees, Current",
        "terseLabel": "Professional and consulting fees"
       }
      }
     },
     "localname": "AccruedProfessionalFeesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r36",
      "r189"
     ],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "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",
        "negatedLabel": "Accumulated depreciation and amortization"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r22",
      "r54",
      "r55",
      "r56",
      "r415",
      "r434",
      "r435"
     ],
     "calculation": {
      "http://www.calix.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",
        "verboseLabel": "Accumulated other comprehensive loss"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r53",
      "r56",
      "r57",
      "r97",
      "r98",
      "r99",
      "r322",
      "r430",
      "r431"
     ],
     "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]",
        "verboseLabel": "Accumulated Other Comprehensive Loss"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r20"
     ],
     "calculation": {
      "http://www.calix.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",
        "verboseLabel": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r97",
      "r98",
      "r99",
      "r285",
      "r286",
      "r287"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r270",
      "r272",
      "r290",
      "r291"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "verboseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r272",
      "r281",
      "r289"
     ],
     "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",
        "verboseLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r26",
      "r153",
      "r163"
     ],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": -1.0
      }
     },
     "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",
        "negatedLabel": "Allowance for doubtful accounts"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r119"
     ],
     "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",
        "verboseLabel": "Potentially dilutive shares, weighted average (in shares)"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/NetIncomePerCommonShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_AssetImpairmentCharges": {
     "auth_ref": [
      "r85",
      "r186"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.",
        "label": "Asset Impairment Charges",
        "terseLabel": "Asset retirements and write-downs"
       }
      }
     },
     "localname": "AssetImpairmentCharges",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r92",
      "r134",
      "r137",
      "r143",
      "r161",
      "r317",
      "r323",
      "r339",
      "r398",
      "r413"
     ],
     "calculation": {
      "http://www.calix.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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "verboseLabel": "ASSETS"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r5",
      "r6",
      "r51",
      "r92",
      "r161",
      "r317",
      "r323",
      "r339"
     ],
     "calculation": {
      "http://www.calix.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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "verboseLabel": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsFairValueDisclosure": {
     "auth_ref": [
      "r328"
     ],
     "calculation": {
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails": {
       "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",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "AssetsFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecurities": {
     "auth_ref": [
      "r155",
      "r157",
      "r169",
      "r402"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails": {
       "order": 1.0,
       "parentTag": "calx_CashCashEquivalentsAndMarketableSecurities",
       "weight": 1.0
      },
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsFairValueDisclosure",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Debt Securities, Available-for-sale",
        "verboseLabel": "Marketable securities"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtSecurities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails",
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r274",
      "r283"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails",
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetRelatedDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Balance Sheet Related Disclosures [Abstract]",
        "terseLabel": "Balance Sheet Related Disclosures [Abstract]"
       }
      }
     },
     "localname": "BalanceSheetRelatedDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CapitalizedContractCostAmortization": {
     "auth_ref": [
      "r176"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer.",
        "label": "Capitalized Contract Cost, Amortization",
        "terseLabel": "Capitalized contract cost, amortization"
       }
      }
     },
     "localname": "CapitalizedContractCostAmortization",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedContractCostGross": {
     "auth_ref": [
      "r175"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.",
        "label": "Capitalized Contract Cost, Gross",
        "verboseLabel": "Capitalized contract cost, gross"
       }
      }
     },
     "localname": "CapitalizedContractCostGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedContractCostImpairmentLoss": {
     "auth_ref": [
      "r176"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of impairment loss for asset recognized from cost incurred to obtain or fulfill contract with customer.",
        "label": "Capitalized Contract Cost, Impairment Loss",
        "terseLabel": "Capitalized contract cost, impairment"
       }
      }
     },
     "localname": "CapitalizedContractCostImpairmentLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents [Abstract]",
        "terseLabel": "Cash and Cash Equivalents [Abstract]"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r2",
      "r34",
      "r87"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails": {
       "order": 2.0,
       "parentTag": "calx_CashCashEquivalentsAndMarketableSecurities",
       "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": "Total cash and cash equivalents",
        "verboseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of cash and cash equivalent balance.",
        "label": "Cash and Cash Equivalents [Axis]",
        "terseLabel": "Cash and Cash Equivalents [Axis]"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails",
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashAndCashEquivalentsFairValueDisclosure": {
     "auth_ref": [],
     "calculation": {
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails": {
       "order": 2.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": "Money market funds"
       }
      }
     },
     "localname": "CashAndCashEquivalentsFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsLineItems": {
     "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": "Cash and Cash Equivalents [Line Items]",
        "terseLabel": "Cash and Cash Equivalents [Line Items]"
       }
      }
     },
     "localname": "CashAndCashEquivalentsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock": {
     "auth_ref": [
      "r160"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure of cash, cash equivalents, and debt and equity securities, including any unrealized or realized gain (loss).",
        "label": "Cash, Cash Equivalents, and Marketable Securities [Text Block]",
        "terseLabel": "Cash, Cash Equivalents, and Marketable Securities"
       }
      }
     },
     "localname": "CashCashEquivalentsAndMarketableSecuritiesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CashCashEquivalentsandMarketableSecurities"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r82",
      "r87",
      "r88"
     ],
     "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 and cash equivalents at end of period",
        "periodStartLabel": "Cash and cash equivalents at beginning of period"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r82",
      "r340"
     ],
     "calculation": {
      "http://www.calix.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 (decrease) in cash and cash equivalents"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashMember": {
     "auth_ref": [
      "r12"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "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.",
        "label": "Cash [Member]",
        "terseLabel": "Cash"
       }
      }
     },
     "localname": "CashMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommercialPaperMember": {
     "auth_ref": [
      "r222"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails",
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r46",
      "r204",
      "r405",
      "r419"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.",
        "label": "Commitments and Contingencies",
        "verboseLabel": "Commitments and contingencies (See Note 7)"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "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/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r201",
      "r202",
      "r203",
      "r211"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "verboseLabel": "Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CommitmentsandContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommitmentsAndContingenciesPolicyTextBlock": {
     "auth_ref": [
      "r89",
      "r218",
      "r439",
      "r440"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for commitments and contingencies, which may include policies for recognizing and measuring loss and gain contingencies.",
        "label": "Commitments and Contingencies, Policy [Policy Text Block]",
        "terseLabel": "Risks and Uncertainties"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r97",
      "r98"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r18"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share",
        "verboseLabel": "Common stock, par value (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r18"
     ],
     "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",
        "verboseLabel": "Common stock, shares authorized (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r18"
     ],
     "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",
        "verboseLabel": "Common stock, shares issued (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r18",
      "r225"
     ],
     "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, shares",
        "periodStartLabel": "Beginning Balance, shares",
        "verboseLabel": "Common stock, shares outstanding (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical",
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r18"
     ],
     "calculation": {
      "http://www.calix.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.025 par value; 100,000 shares authorized; 63,732 shares issued and outstanding as of October 2, 2021, and 62,122 shares issued and outstanding as of December 31, 2020"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r60",
      "r62",
      "r63",
      "r65",
      "r407",
      "r420"
     ],
     "calculation": {
      "http://www.calix.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/2020-01-31",
     "presentation": [
      "http://www.calix.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"
       }
      }
     },
     "localname": "ComputerEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ComputerSoftwareIntangibleAssetMember": {
     "auth_ref": [
      "r180",
      "r183",
      "r314"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks.",
        "label": "Computer Software, Intangible Asset [Member]",
        "terseLabel": "Licensed Software"
       }
      }
     },
     "localname": "ComputerSoftwareIntangibleAssetMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "auth_ref": [
      "r128",
      "r129",
      "r149",
      "r336",
      "r337"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "auth_ref": [
      "r128",
      "r129",
      "r149",
      "r336",
      "r337",
      "r437"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r128",
      "r129",
      "r149",
      "r336",
      "r337",
      "r437"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r128",
      "r129",
      "r149",
      "r336",
      "r337"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConcentrationRiskTable": {
     "auth_ref": [
      "r126",
      "r128",
      "r129",
      "r130",
      "r336",
      "r338"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r128",
      "r129",
      "r149",
      "r336",
      "r337"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "auth_ref": [
      "r236"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.",
        "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]",
        "terseLabel": "Deferred revenue, by arrangement, disclosure"
       }
      }
     },
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ContractWithCustomerAssetNet": {
     "auth_ref": [
      "r233",
      "r235",
      "r248"
     ],
     "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 with customer, asset"
       }
      }
     },
     "localname": "ContractWithCustomerAssetNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiability": {
     "auth_ref": [
      "r233",
      "r234",
      "r248"
     ],
     "calculation": {
      "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "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",
        "totalLabel": "Deferred revenue"
       }
      }
     },
     "localname": "ContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r233",
      "r234",
      "r248"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      },
      "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_ContractWithCustomerLiability",
       "weight": 1.0
      }
     },
     "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, classified as current.",
        "label": "Contract with Customer, Liability, Current",
        "terseLabel": "Deferred revenue, current",
        "verboseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityNoncurrent": {
     "auth_ref": [
      "r233",
      "r234",
      "r248"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      },
      "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_ContractWithCustomerLiability",
       "weight": 1.0
      }
     },
     "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, classified as noncurrent.",
        "label": "Contract with Customer, Liability, Noncurrent",
        "terseLabel": "Deferred revenue, current",
        "verboseLabel": "Long-term portion of deferred revenue"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "auth_ref": [
      "r249"
     ],
     "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": "Contract with customer, liability, revenue recognized"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CorporateDebtSecuritiesMember": {
     "auth_ref": [
      "r260",
      "r267",
      "r436"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt securities issued by domestic or foreign corporate business, banks and other entities with a promise of repayment.",
        "label": "Corporate Debt Securities [Member]",
        "terseLabel": "Corporate debt securities"
       }
      }
     },
     "localname": "CorporateDebtSecuritiesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails",
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r69",
      "r392"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "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",
        "verboseLabel": "Cost of revenue"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfRevenueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of Revenue [Abstract]",
        "verboseLabel": "Cost of revenue:"
       }
      }
     },
     "localname": "CostOfRevenueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Axis]",
        "terseLabel": "Credit Facility [Axis]"
       }
      }
     },
     "localname": "CreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Domain]",
        "terseLabel": "Credit Facility [Domain]"
       }
      }
     },
     "localname": "CreditFacilityDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "auth_ref": [
      "r127",
      "r149"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "auth_ref": [
      "r224"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.",
        "label": "Debt Disclosure [Text Block]",
        "verboseLabel": "Credit Agreement"
       }
      }
     },
     "localname": "DebtDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreement"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.",
        "label": "Debt Instrument, Basis Spread on Variable Rate",
        "terseLabel": "Basis spread on variable rate"
       }
      }
     },
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentInterestRateEffectivePercentage": {
     "auth_ref": [
      "r43",
      "r223",
      "r348"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.",
        "label": "Debt Instrument, Interest Rate, Effective Percentage",
        "terseLabel": "Interest rate"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateEffectivePercentage",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentLineItems": {
     "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": "Debt Instrument [Line Items]",
        "terseLabel": "Debt Instrument [Line Items]"
       }
      }
     },
     "localname": "DebtInstrumentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentTable": {
     "auth_ref": [
      "r44",
      "r94",
      "r226",
      "r227",
      "r228",
      "r229",
      "r347",
      "r348",
      "r349",
      "r411"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Schedule of Long-term Debt Instruments [Table]",
        "terseLabel": "Schedule of Long-term Debt Instruments [Table]"
       }
      }
     },
     "localname": "DebtInstrumentTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "auth_ref": [
      "r295",
      "r296"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 6.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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredRevenueArrangementTypeAxis": {
     "auth_ref": [
      "r8"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of deferred revenue arrangement.",
        "label": "Deferred Revenue Arrangement Type [Axis]",
        "terseLabel": "Deferred Revenue Arrangement Type [Axis]"
       }
      }
     },
     "localname": "DeferredRevenueArrangementTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredRevenueArrangementTypeDomain": {
     "auth_ref": [
      "r8"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Category of obligation arising when an entity receives consideration from a customer before achieving certain criteria that must be met for revenue to be recognized.",
        "label": "Deferred Revenue [Domain]",
        "terseLabel": "Deferred Revenue [Domain]"
       }
      }
     },
     "localname": "DeferredRevenueArrangementTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r301"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.",
        "label": "Deferred Tax Assets, Valuation Allowance",
        "terseLabel": "Valuation allowance"
       }
      }
     },
     "localname": "DeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r85",
      "r187"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 2.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",
        "verboseLabel": "Depreciation and amortization"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails",
      "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "auth_ref": [
      "r247",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetandLiabilityDetails",
      "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock": {
     "auth_ref": [
      "r274",
      "r283"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of share-based payment arrangement.",
        "label": "Disclosure of Share-based Compensation Arrangements by Share-based Payment Award [Table Text Block]",
        "terseLabel": "Disclosure of share-based compensation arrangements by share-based payment award"
       }
      }
     },
     "localname": "DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]",
        "terseLabel": "Net income per common share:"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r66",
      "r102",
      "r103",
      "r104",
      "r105",
      "r106",
      "r110",
      "r112",
      "r116",
      "r117",
      "r118",
      "r122",
      "r123",
      "r408",
      "r421"
     ],
     "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)",
        "verboseLabel": "Basic net income per common share (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME",
      "http://www.calix.com/role/NetIncomePerCommonShareDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareBasicAndDilutedAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Basic and Diluted [Abstract]",
        "verboseLabel": "Schedule of net income (loss) per share"
       }
      }
     },
     "localname": "EarningsPerShareBasicAndDilutedAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/NetIncomePerCommonShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r66",
      "r102",
      "r103",
      "r104",
      "r105",
      "r106",
      "r112",
      "r116",
      "r117",
      "r118",
      "r122",
      "r123",
      "r408",
      "r421"
     ],
     "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)",
        "verboseLabel": "Diluted net income per common share (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME",
      "http://www.calix.com/role/NetIncomePerCommonShareDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r119",
      "r120",
      "r121",
      "r124"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Earnings Per Share [Text Block]",
        "verboseLabel": "Net Income Per Common Share"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/NetIncomePerCommonShare"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r340"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 2.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",
        "verboseLabel": "Effect of exchange rate changes on cash and cash equivalents"
       }
      }
     },
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r298"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "terseLabel": "Effective tax rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [
      "r41"
     ],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": {
       "order": 3.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",
        "verboseLabel": "Compensation and related benefits"
       }
      }
     },
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r282"
     ],
     "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": "Recognition period"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails",
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": {
     "auth_ref": [
      "r282"
     ],
     "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 stock-based compensation expense"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": {
     "auth_ref": [
      "r282"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost to be recognized for option under share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount",
        "terseLabel": "Unrecognized stock-based compensation expense, stock options"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "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": "Severance and Related Benefits"
       }
      }
     },
     "localname": "EmployeeSeveranceMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails"
     ],
     "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]",
        "verboseLabel": "Employee Stock Purchase Plan"
       }
      }
     },
     "localname": "EmployeeStockMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EmployeeStockOptionMember": {
     "auth_ref": [
      "r280"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.",
        "label": "Share-based Payment Arrangement, Option [Member]",
        "terseLabel": "Stock Options"
       }
      }
     },
     "localname": "EmployeeStockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property used to produce goods and services.",
        "label": "Equipment [Member]",
        "verboseLabel": "Test equipment"
       }
      }
     },
     "localname": "EquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "localname": "EquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r97",
      "r98",
      "r99",
      "r101",
      "r107",
      "r109",
      "r125",
      "r162",
      "r225",
      "r230",
      "r285",
      "r286",
      "r287",
      "r305",
      "r306",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r430",
      "r431",
      "r432"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FacilityClosingMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Closing of a facility associated with exit from or disposal of business activities or restructurings pursuant to a plan.",
        "label": "Facility Closing [Member]",
        "terseLabel": "Facilities"
       }
      }
     },
     "localname": "FacilityClosingMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "auth_ref": [
      "r328",
      "r329",
      "r330",
      "r334"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": {
     "auth_ref": [
      "r328",
      "r329"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class 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": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]",
        "terseLabel": "Fair value, assets measured on recurring basis"
       }
      }
     },
     "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "auth_ref": [
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r329",
      "r364",
      "r365",
      "r366"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "auth_ref": [
      "r328",
      "r329",
      "r331",
      "r332",
      "r335"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Disclosures [Abstract]"
       }
      }
     },
     "localname": "FairValueDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "auth_ref": [
      "r333"
     ],
     "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 Measurements"
       }
      }
     },
     "localname": "FairValueDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/FairValueMeasurements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "auth_ref": [
      "r260",
      "r261",
      "r266",
      "r267",
      "r329",
      "r364"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "auth_ref": [
      "r260",
      "r261",
      "r266",
      "r267",
      "r329",
      "r365"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "auth_ref": [
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r364",
      "r365",
      "r366"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsRecurringMember": {
     "auth_ref": [
      "r333",
      "r335"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value.",
        "label": "Fair Value, Recurring [Member]",
        "terseLabel": "Fair Value, Recurring"
       }
      }
     },
     "localname": "FairValueMeasurementsRecurringMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FinancialInstrumentAxis": {
     "auth_ref": [
      "r158",
      "r159",
      "r164",
      "r165",
      "r166",
      "r167",
      "r168",
      "r170",
      "r171",
      "r172",
      "r173",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of financial instrument.",
        "label": "Financial Instrument [Axis]",
        "terseLabel": "Financial Instrument [Axis]"
       }
      }
     },
     "localname": "FinancialInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails",
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "terseLabel": "Useful life"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r180",
      "r181",
      "r184",
      "r185",
      "r393",
      "r394"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r180",
      "r183"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r184",
      "r393"
     ],
     "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",
        "terseLabel": "Intangible asset"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "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]",
        "verboseLabel": "Furniture and fixtures"
       }
      }
     },
     "localname": "FurnitureAndFixturesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.",
        "label": "General and Administrative Expense",
        "verboseLabel": "General and administrative"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpenseMember": {
     "auth_ref": [
      "r67"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing general and administrative expense.",
        "label": "General and Administrative Expense [Member]",
        "terseLabel": "General and administrative"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r177",
      "r178",
      "r397"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 3.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",
        "verboseLabel": "Goodwill"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r68",
      "r92",
      "r134",
      "r136",
      "r139",
      "r142",
      "r144",
      "r161",
      "r339"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "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",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r64",
      "r134",
      "r136",
      "r139",
      "r142",
      "r144",
      "r396",
      "r406",
      "r409",
      "r422"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "order": 1.0,
       "parentTag": "us-gaap_ProfitLoss",
       "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "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/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r191"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]",
        "terseLabel": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r299",
      "r300",
      "r303",
      "r307",
      "r309",
      "r311",
      "r312",
      "r313"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Tax Disclosure [Text Block]",
        "verboseLabel": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/IncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r93",
      "r108",
      "r109",
      "r133",
      "r297",
      "r308",
      "r310",
      "r423"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "order": 2.0,
       "parentTag": "us-gaap_ProfitLoss",
       "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": "Income taxes",
        "verboseLabel": "Income taxes"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME",
      "http://www.calix.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r298"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets.",
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount",
        "negatedTerseLabel": "Discrete tax benefit"
       }
      }
     },
     "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r84"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 7.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",
        "verboseLabel": "Accounts payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r84"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 4.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, net"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "auth_ref": [
      "r84"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 8.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",
        "verboseLabel": "Accrued liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDeferredRevenue": {
     "auth_ref": [
      "r84"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 9.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",
        "verboseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "IncreaseDecreaseInDeferredRevenue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r84"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 5.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": "Inventory"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "verboseLabel": "Changes in operating assets and liabilities:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other.",
        "label": "Increase (Decrease) in Other Noncurrent Liabilities",
        "verboseLabel": "Other long-term liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r84"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 6.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 assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.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]",
        "verboseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]"
       }
      }
     },
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "auth_ref": [
      "r113",
      "r114",
      "r115",
      "r118"
     ],
     "calculation": {
      "http://www.calix.com/role/NetIncomePerCommonShareDetails": {
       "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": "Effect of dilutive common stock equivalents (in shares)"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/NetIncomePerCommonShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "auth_ref": [
      "r179",
      "r182"
     ],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_OtherAssetsNoncurrent",
       "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": "Intangible asset"
       }
      }
     },
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestIncomeExpenseNonoperatingNet": {
     "auth_ref": [],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net amount of nonoperating interest income (expense).",
        "label": "Interest Income (Expense), Nonoperating, Net",
        "verboseLabel": "Interest expense, net"
       }
      }
     },
     "localname": "InterestIncomeExpenseNonoperatingNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "auth_ref": [
      "r27",
      "r174"
     ],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails": {
       "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 merchandise or goods held by the company that are readily available for sale.",
        "label": "Inventory, Finished Goods, Net of Reserves",
        "verboseLabel": "Finished goods"
       }
      }
     },
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r3",
      "r50"
     ],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "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",
        "totalLabel": "Total inventory",
        "verboseLabel": "Inventory"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails",
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Net [Abstract]",
        "verboseLabel": "Summary of inventory, net"
       }
      }
     },
     "localname": "InventoryNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "auth_ref": [
      "r28",
      "r174"
     ],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails": {
       "order": 2.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",
        "verboseLabel": "Raw materials"
       }
      }
     },
     "localname": "InventoryRawMaterialsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "auth_ref": [
      "r188"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions or improvements to assets held under a lease arrangement.",
        "label": "Leasehold Improvements [Member]",
        "verboseLabel": "Leasehold improvements"
       }
      }
     },
     "localname": "LeaseholdImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r358"
     ],
     "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 rental payments for operating leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CommitmentsandContingenciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r358"
     ],
     "calculation": {
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails_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",
        "terseLabel": "Total future minimum lease payments",
        "totalLabel": "Total future minimum lease payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails",
      "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r358"
     ],
     "calculation": {
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails": {
       "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 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": "2022"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r358"
     ],
     "calculation": {
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails": {
       "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 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": "2025"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r358"
     ],
     "calculation": {
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails": {
       "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 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": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r358"
     ],
     "calculation": {
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails": {
       "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": "2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "auth_ref": [
      "r358"
     ],
     "calculation": {
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails": {
       "order": 4.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 2021"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r358"
     ],
     "calculation": {
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails_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 payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "negatedTerseLabel": "Less imputed interest"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LetterOfCreditMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit).",
        "label": "Letter of Credit [Member]",
        "terseLabel": "Letter of Credit"
       }
      }
     },
     "localname": "LetterOfCreditMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r40",
      "r92",
      "r138",
      "r161",
      "r318",
      "r323",
      "r324",
      "r339"
     ],
     "calculation": {
      "http://www.calix.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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r25",
      "r92",
      "r161",
      "r339",
      "r401",
      "r417"
     ],
     "calculation": {
      "http://www.calix.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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "verboseLabel": "LIABILITIES AND STOCKHOLDERS\u2019 EQUITY"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r42",
      "r92",
      "r161",
      "r318",
      "r323",
      "r324",
      "r339"
     ],
     "calculation": {
      "http://www.calix.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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "verboseLabel": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCredit": {
     "auth_ref": [
      "r15",
      "r399",
      "r412"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.",
        "label": "Long-term Line of Credit",
        "terseLabel": "Outstanding borrowings"
       }
      }
     },
     "localname": "LineOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Abstract]",
        "terseLabel": "Line of Credit Facility [Abstract]"
       }
      }
     },
     "localname": "LineOfCreditFacilityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityAxis": {
     "auth_ref": [
      "r39",
      "r94"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit.",
        "label": "Lender Name [Axis]",
        "terseLabel": "Lender Name [Axis]"
       }
      }
     },
     "localname": "LineOfCreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityLenderDomain": {
     "auth_ref": [
      "r39"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility.",
        "label": "Line of Credit Facility, Lender [Domain]",
        "terseLabel": "Line of Credit Facility, Lender [Domain]"
       }
      }
     },
     "localname": "LineOfCreditFacilityLenderDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "auth_ref": [
      "r39"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "verboseLabel": "Revolving credit facility, maximum capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "auth_ref": [
      "r39"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).",
        "label": "Line of Credit Facility, Remaining Borrowing Capacity",
        "terseLabel": "Line of credit, amount available"
       }
      }
     },
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LondonInterbankOfferedRateLIBORMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate at which a bank borrows funds from other banks in the London interbank market.",
        "label": "London Interbank Offered Rate (LIBOR) [Member]",
        "terseLabel": "London Interbank Offered Rate (LIBOR)"
       }
      }
     },
     "localname": "LondonInterbankOfferedRateLIBORMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LossContingenciesLineItems": {
     "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": "Loss Contingencies [Line Items]",
        "terseLabel": "Commitments and Contingencies [Line Items]"
       }
      }
     },
     "localname": "LossContingenciesLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingenciesTable": {
     "auth_ref": [
      "r204",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r213",
      "r214"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Discloses the specific components (such as the nature, name, and date) of the loss contingency and gives an estimate of the possible loss or range of loss, or states that a reasonable estimate cannot be made. Excludes environmental contingencies, warranties and unconditional purchase obligations.",
        "label": "Loss Contingencies [Table]",
        "terseLabel": "Loss Contingencies [Table]"
       }
      }
     },
     "localname": "LossContingenciesTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_MoneyMarketFundsMember": {
     "auth_ref": [
      "r260"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails",
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MovementInStandardProductWarrantyAccrualRollForward": {
     "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 Product Warranty Accrual [Roll Forward]",
        "terseLabel": "Movement in Standard Product Warranty Accrual [Roll Forward]"
       }
      }
     },
     "localname": "MovementInStandardProductWarrantyAccrualRollForward",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsWarrantyReserveDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_MunicipalNotesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Short-term debt securities issued by state, city or local governments or the agencies operated by state, city or local governments.",
        "label": "Municipal Notes [Member]",
        "terseLabel": "Municipal securities"
       }
      }
     },
     "localname": "MunicipalNotesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails",
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r82"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 1.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 financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "verboseLabel": "Financing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r82"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 4.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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "verboseLabel": "Investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r82",
      "r83",
      "r86"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 3.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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "verboseLabel": "Operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLossAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss) Attributable to Parent [Abstract]",
        "verboseLabel": "Numerator:"
       }
      }
     },
     "localname": "NetIncomeLossAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/NetIncomePerCommonShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "verboseLabel": "Newly Adopted Accounting Standard and Recent Accounting Pronouncements Not Yet Adopted"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonoperating Income (Expense) [Abstract]",
        "verboseLabel": "Interest and other expense, net:"
       }
      }
     },
     "localname": "NonoperatingIncomeExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Expenses [Abstract]",
        "verboseLabel": "Operating expenses:"
       }
      }
     },
     "localname": "OperatingExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r134",
      "r136",
      "r139",
      "r142",
      "r144"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "order": 1.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": "Income from operations"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseExpense": {
     "auth_ref": [
      "r353"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating lease expense. Excludes sublease income.",
        "label": "Operating Lease, Expense",
        "terseLabel": "Rent expense"
       }
      }
     },
     "localname": "OperatingLeaseExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r351"
     ],
     "calculation": {
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails_1": {
       "order": 2.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": "Operating lease liability"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails",
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r351"
     ],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": {
       "order": 10.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      },
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails": {
       "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 current.",
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Operating leases",
        "verboseLabel": "Accrued liabilities - current portion of operating leases"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails",
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "auth_ref": [
      "r352"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates line item in statement of financial position that includes current operating lease liability.",
        "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]",
        "terseLabel": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails"
     ],
     "xbrltype": "extensibleListItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r351"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 4.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      },
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails": {
       "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 noncurrent.",
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Operating leases",
        "verboseLabel": "Operating leases"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r354",
      "r355"
     ],
     "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 lease, payments"
       }
      }
     },
     "localname": "OperatingLeasePayments",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r350"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 5.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": "Right-of-use operating leases"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r357",
      "r359"
     ],
     "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": "Weighted average operating discount rate used to determine the operating lease liability (percent)"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r356",
      "r359"
     ],
     "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": "Weighted average remaining lease term for operating lease"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "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/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": {
     "auth_ref": [
      "r1",
      "r327"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.",
        "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]",
        "verboseLabel": "Company and Basis of Presentation"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CompanyandBasisofPresentation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r7",
      "r9",
      "r10",
      "r41"
     ],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": {
       "order": 8.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",
        "verboseLabel": "Other"
       }
      }
     },
     "localname": "OtherAccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsMiscellaneousNoncurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_OtherAssetsNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other miscellaneous assets expected to be realized or consumed after one year or normal operating cycle, if longer.",
        "label": "Other Assets, Miscellaneous, Noncurrent",
        "terseLabel": "Other long-term assets"
       }
      }
     },
     "localname": "OtherAssetsMiscellaneousNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r37"
     ],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.calix.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",
        "totalLabel": "Other assets, noncurrent",
        "verboseLabel": "Other assets"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails",
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]",
        "verboseLabel": "Net income"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": {
     "auth_ref": [
      "r59",
      "r62",
      "r315",
      "r316",
      "r321"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity.",
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent",
        "terseLabel": "Other comprehensive income (loss)",
        "verboseLabel": "Other comprehensive income (loss), net of tax - foreign currency translation adjustment, net"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME",
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilities": {
     "auth_ref": [
      "r404"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other.",
        "label": "Other Liabilities",
        "terseLabel": "Other Liabilities"
       }
      }
     },
     "localname": "OtherLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "auth_ref": [
      "r45"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.",
        "label": "Other Liabilities, Noncurrent",
        "verboseLabel": "Other long-term liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails",
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r71"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "order": 3.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)",
        "verboseLabel": "Other expense, net"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForRestructuring": {
     "auth_ref": [
      "r80",
      "r193"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfDebtIssuanceCosts": {
     "auth_ref": [
      "r79"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt.",
        "label": "Payments of Debt Issuance Costs",
        "negatedLabel": "Payments to originate the line of credit"
       }
      }
     },
     "localname": "PaymentsOfDebtIssuanceCosts",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt": {
     "auth_ref": [
      "r72",
      "r74",
      "r156"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow to acquire investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Payments to Acquire Debt Securities, Available-for-sale",
        "negatedTerseLabel": "Purchases of marketable securities"
       }
      }
     },
     "localname": "PaymentsToAcquireAvailableForSaleSecuritiesDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r75"
     ],
     "calculation": {
      "http://www.calix.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": "Purchases of property and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PlanNameAxis": {
     "auth_ref": [
      "r274",
      "r283"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquity2019EquityIncentiveAwardPlanDetails",
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails",
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PlanNameDomain": {
     "auth_ref": [],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquity2019EquityIncentiveAwardPlanDetails",
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails",
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r17"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.",
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "verboseLabel": "Preferred stock, par value (in dollars per share)"
       }
      }
     },
     "localname": "PreferredStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r17"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.",
        "label": "Preferred Stock, Shares Authorized",
        "verboseLabel": "Preferred stock, shares authorized (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesIssued": {
     "auth_ref": [
      "r17"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.",
        "label": "Preferred Stock, Shares Issued",
        "verboseLabel": "Preferred stock, shares issued (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "auth_ref": [
      "r17"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.",
        "label": "Preferred Stock, Shares Outstanding",
        "verboseLabel": "Preferred stock, shares outstanding (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r17"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 5.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Preferred Stock, Value, Issued",
        "terseLabel": "Preferred stock, $0.025 par value; 5,000 shares authorized; no shares issued and outstanding as of October 2, 2021 and December 31, 2020"
       }
      }
     },
     "localname": "PreferredStockValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r5",
      "r32",
      "r33"
     ],
     "calculation": {
      "http://www.calix.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",
        "verboseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrimeRateMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate charged by financial institutions to their most creditworthy borrowers.",
        "label": "Prime Rate [Member]",
        "terseLabel": "Prime Rate"
       }
      }
     },
     "localname": "PrimeRateMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "auth_ref": [
      "r76"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the additional capital contribution to the entity.",
        "label": "Proceeds from Issuance of Common Stock",
        "terseLabel": "Proceeds from the sale of common stock in connection with public offering, net of expense"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromLinesOfCredit": {
     "auth_ref": [
      "r77",
      "r95"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.",
        "label": "Proceeds from Lines of Credit",
        "terseLabel": "Proceeds from line of credit"
       }
      }
     },
     "localname": "ProceedsFromLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities": {
     "auth_ref": [
      "r72",
      "r73",
      "r156"
     ],
     "calculation": {
      "http://www.calix.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": "Maturities of marketable securities"
       }
      }
     },
     "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "auth_ref": [
      "r76",
      "r284"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.",
        "label": "Proceeds from Stock Options Exercised",
        "verboseLabel": "Proceeds from common stock issuances related to employee benefit plans"
       }
      }
     },
     "localname": "ProceedsFromStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrual": {
     "auth_ref": [
      "r219",
      "r220",
      "r403"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsWarrantyReserveDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualClassifiedCurrent": {
     "auth_ref": [
      "r41",
      "r212",
      "r215"
     ],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": {
       "order": 4.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": "Warranty and retrofit"
       }
      }
     },
     "localname": "ProductWarrantyAccrualClassifiedCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualPayments": {
     "auth_ref": [
      "r216"
     ],
     "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": "Utilization of reserve"
       }
      }
     },
     "localname": "ProductWarrantyAccrualPayments",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsWarrantyReserveDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualWarrantiesIssued": {
     "auth_ref": [
      "r217"
     ],
     "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": "Provision for warranty and retrofit charged to cost of revenue"
       }
      }
     },
     "localname": "ProductWarrantyAccrualWarrantiesIssued",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsWarrantyReserveDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProfitLoss": {
     "auth_ref": [
      "r0",
      "r58",
      "r61",
      "r81",
      "r92",
      "r100",
      "r108",
      "r109",
      "r134",
      "r136",
      "r139",
      "r142",
      "r144",
      "r161",
      "r315",
      "r319",
      "r320",
      "r325",
      "r326",
      "r339",
      "r409"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.",
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest",
        "terseLabel": "Net income",
        "totalLabel": "Net income",
        "verboseLabel": "Net income"
       }
      }
     },
     "localname": "ProfitLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME",
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
      "http://www.calix.com/role/NetIncomePerCommonShareDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r36",
      "r190"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r35",
      "r188"
     ],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "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",
        "verboseLabel": "Property and equipment, gross"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r13",
      "r14",
      "r190",
      "r418"
     ],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "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",
        "totalLabel": "Property and equipment, net",
        "verboseLabel": "Property and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails",
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Net, by Type [Abstract]",
        "verboseLabel": "Summary of property and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNetByTypeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "auth_ref": [
      "r13",
      "r190"
     ],
     "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]",
        "verboseLabel": "Summary of property and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r13",
      "r188"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted": {
     "auth_ref": [
      "r16",
      "r400",
      "r414"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Minimum amount to be expended to satisfy the terms of arrangements in which the entity has agreed to expend funds to procure goods or services, excluding long-term purchase commitments or unconditional purchase obligations.",
        "label": "Purchase Commitment, Remaining Minimum Amount Committed",
        "terseLabel": "Outstanding purchase commitments"
       }
      }
     },
     "localname": "PurchaseCommitmentRemainingMinimumAmountCommitted",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfLinesOfCredit": {
     "auth_ref": [
      "r78",
      "r95"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.",
        "label": "Repayments of Lines of Credit",
        "negatedTerseLabel": "Repayment of line of credit"
       }
      }
     },
     "localname": "RepaymentsOfLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r294",
      "r450"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "order": 3.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",
        "verboseLabel": "Research and development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of cash and cash equivalent. Cash is 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 [Domain]",
        "terseLabel": "Cash and Cash Equivalents [Domain]"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails",
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestructuringCharges": {
     "auth_ref": [
      "r85",
      "r192",
      "r196",
      "r200"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "order": 4.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails",
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestructuringCostAndReserveAxis": {
     "auth_ref": [],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestructuringReserve": {
     "auth_ref": [
      "r193",
      "r197"
     ],
     "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": "Balance as of October 2, 2021",
        "periodStartLabel": "Balance as of December 31, 2020"
       }
      }
     },
     "localname": "RestructuringReserve",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestructuringReserveCurrent": {
     "auth_ref": [
      "r192",
      "r199"
     ],
     "calculation": {
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of known and estimated obligations associated with exit from or disposal of business activities or restructurings pursuant to a duly authorized plan, which are expected to be paid in the next twelve months or in the normal operating cycle if longer. Costs of such activities include those for one-time termination benefits, termination of an operating lease or other contract, consolidating or closing facilities, relocating employees, and costs associated with an ongoing benefit arrangement, but excludes costs associated with the retirement of a long-lived asset.",
        "label": "Restructuring Reserve, Current",
        "terseLabel": "Operations"
       }
      }
     },
     "localname": "RestructuringReserveCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r21",
      "r230",
      "r288",
      "r416",
      "r433",
      "r435"
     ],
     "calculation": {
      "http://www.calix.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)",
        "verboseLabel": "Accumulated deficit"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r97",
      "r98",
      "r99",
      "r101",
      "r107",
      "r109",
      "r162",
      "r285",
      "r286",
      "r287",
      "r305",
      "r306",
      "r430",
      "r432"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.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/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "auth_ref": [
      "r131",
      "r132",
      "r135",
      "r140",
      "r141",
      "r145",
      "r146",
      "r149",
      "r246",
      "r247",
      "r392"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, including 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, Including Assessed Tax",
        "terseLabel": "Total revenues",
        "verboseLabel": "Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME",
      "http://www.calix.com/role/RevenuefromContractswithCustomersRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerMember": {
     "auth_ref": [
      "r128",
      "r149"
     ],
     "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"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "auth_ref": [
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r244",
      "r245",
      "r250",
      "r258"
     ],
     "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 from Contracts with Customers"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomers"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": {
     "auth_ref": [
      "r148"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.",
        "label": "Revenue from External Customers by Geographic Areas [Table Text Block]",
        "terseLabel": "Revenue from external customers by geographic areas"
       }
      }
     },
     "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "auth_ref": [
      "r90",
      "r91"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.",
        "label": "Revenue [Policy Text Block]",
        "terseLabel": "Revenue Recognition"
       }
      }
     },
     "localname": "RevenueRecognitionPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "auth_ref": [
      "r242"
     ],
     "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": "Remaining performance obligation, amount"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "auth_ref": [
      "r243"
     ],
     "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": "Performance obligations expected to be satisfied, expected timing"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "auth_ref": [
      "r243"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in CCYY-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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationPercentage": {
     "auth_ref": [
      "r243"
     ],
     "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": "Remaining performance obligation, percentage"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationPercentage",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_RevenuesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues [Abstract]",
        "terseLabel": "Revenue:"
       }
      }
     },
     "localname": "RevenuesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.",
        "label": "Revolving Credit Facility [Member]",
        "terseLabel": "Revolving Credit Facility"
       }
      }
     },
     "localname": "RevolvingCreditFacilityMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RoyaltyGuaranteesCommitmentsAmount": {
     "auth_ref": [
      "r395"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount the entity has committed to make for future royalty guarantees.",
        "label": "Royalty Guarantees, Commitments, Amount",
        "terseLabel": "Royalty payment commitment"
       }
      }
     },
     "localname": "RoyaltyGuaranteesCommitmentsAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": {
     "auth_ref": [
      "r49"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.",
        "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]",
        "verboseLabel": "Summary of accounts receivable, net"
       }
      }
     },
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "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]",
        "verboseLabel": "Summary of accrued liabilities"
       }
      }
     },
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfCashAndCashEquivalentsTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of cash and cash equivalent balances. This table excludes restricted cash balances.",
        "label": "Schedule of Cash and Cash Equivalents [Table]",
        "terseLabel": "Schedule of Cash and Cash Equivalents [Table]"
       }
      }
     },
     "localname": "ScheduleOfCashAndCashEquivalentsTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of cash and cash equivalents.",
        "label": "Schedule of Cash and Cash Equivalents [Table Text Block]",
        "verboseLabel": "Summary of cash and cash equivalents"
       }
      }
     },
     "localname": "ScheduleOfCashAndCashEquivalentsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CashCashEquivalentsandRestrictedCashTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "auth_ref": [
      "r304"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.",
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "terseLabel": "Schedule of income taxes"
       }
      }
     },
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r118"
     ],
     "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]",
        "verboseLabel": "Schedule of net income (loss) per share"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/NetIncomePerCommonShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "auth_ref": [
      "r180",
      "r183",
      "r393"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsLossonAssetRetirementDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r11",
      "r29",
      "r30",
      "r31"
     ],
     "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]",
        "verboseLabel": "Summary of inventory"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock": {
     "auth_ref": [
      "r37"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of noncurrent assets.",
        "label": "Schedule of Other Assets, Noncurrent [Table Text Block]",
        "terseLabel": "Schedule of other long-term assets"
       }
      }
     },
     "localname": "ScheduleOfOtherAssetsNoncurrentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "auth_ref": [
      "r221"
     ],
     "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]",
        "verboseLabel": "Product warranty activities"
       }
      }
     },
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "auth_ref": [
      "r36",
      "r190"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": {
     "auth_ref": [
      "r194",
      "r195",
      "r198"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock": {
     "auth_ref": [
      "r194",
      "r195",
      "r198"
     ],
     "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 and related costs"
       }
      }
     },
     "localname": "ScheduleOfRestructuringAndRelatedCostsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r274",
      "r283"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquity2019EquityIncentiveAwardPlanDetails",
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails",
      "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails",
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SellingAndMarketingExpense": {
     "auth_ref": [],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.",
        "label": "Selling and Marketing Expense",
        "verboseLabel": "Sales and marketing"
       }
      }
     },
     "localname": "SellingAndMarketingExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SellingAndMarketingExpenseMember": {
     "auth_ref": [
      "r67"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing selling and marketing expense.",
        "label": "Selling and Marketing Expense [Member]",
        "terseLabel": "Sales and marketing"
       }
      }
     },
     "localname": "SellingAndMarketingExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r84"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 3.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",
        "verboseLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1": {
     "auth_ref": [
      "r275"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Estimated period over which an employee is required to provide service in exchange for the equity-based payment award, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Requisite Service Period",
        "terseLabel": "Award performance period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "auth_ref": [
      "r275"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period",
        "terseLabel": "Award vesting period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquity2019EquityIncentiveAwardPlanDetails",
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails",
      "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails",
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate": {
     "auth_ref": [
      "r283"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The highest percentage of annual salary that an employee is permitted to utilize with respect to the plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Maximum Employee Subscription Rate",
        "verboseLabel": "ESPP, maximum employee payroll deduction percentage"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee": {
     "auth_ref": [
      "r283"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The highest quantity of shares an employee can purchase under the plan per period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Maximum Number of Shares Per Employee",
        "terseLabel": "ESPP, maximum number of shares per employee (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of additional shares authorized for issuance under share-based payment arrangement.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Additional Shares Authorized",
        "terseLabel": "Number of additional shares authorized (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "auth_ref": [
      "r276"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized",
        "terseLabel": "Number of shares authorized (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "auth_ref": [
      "r283"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant",
        "terseLabel": "Shares available for future grant (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquity2019EquityIncentiveAwardPlanDetails",
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross number of share options (or share units) granted during the period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross",
        "verboseLabel": "Stock options granted (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r279"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted-average grant date fair value (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r271",
      "r277"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails",
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price",
        "terseLabel": "Weighted-average exercise price per share, stock options (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationAwardTrancheOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.",
        "label": "Share-based Payment Arrangement, Tranche One [Member]",
        "terseLabel": "Period One"
       }
      }
     },
     "localname": "ShareBasedCompensationAwardTrancheOneMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.",
        "label": "Share-based Payment Arrangement, Tranche Two [Member]",
        "terseLabel": "Period Two"
       }
      }
     },
     "localname": "ShareBasedCompensationAwardTrancheTwoMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": {
     "auth_ref": [
      "r275"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of vesting of award under share-based payment arrangement.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage",
        "terseLabel": "Award vesting rights, percentage"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Purchase price of common stock expressed as a percentage of its fair value.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent",
        "verboseLabel": "ESPP, discounted purchase price percentage"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r232",
      "r293"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP).",
        "label": "Shareholders' Equity and Share-based Payments [Text Block]",
        "verboseLabel": "Stockholders' Equity"
       }
      }
     },
     "localname": "ShareholdersEquityAndShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquity"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r96"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.",
        "label": "Significant Accounting Policies [Text Block]",
        "verboseLabel": "Significant Accounting Policies"
       }
      }
     },
     "localname": "SignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/SignificantAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r48",
      "r97",
      "r98",
      "r99",
      "r101",
      "r107",
      "r109",
      "r125",
      "r162",
      "r225",
      "r230",
      "r285",
      "r286",
      "r287",
      "r305",
      "r306",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r430",
      "r431",
      "r432"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME",
      "http://www.calix.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/2020-01-31",
     "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/2020-01-31",
     "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/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r97",
      "r98",
      "r99",
      "r125",
      "r392"
     ],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME",
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan": {
     "auth_ref": [
      "r17",
      "r18",
      "r225",
      "r230",
      "r292"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of capital stock issued (purchased by employees) in connection with an employee stock ownership plan.",
        "label": "Stock Issued During Period, Shares, Employee Stock Ownership Plan",
        "terseLabel": "Shares purchased under ESPP (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "auth_ref": [
      "r17",
      "r18",
      "r225",
      "r230"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of new stock issued during the period.",
        "label": "Stock Issued During Period, Shares, New Issues",
        "terseLabel": "Issuance of common stock in connection with public offering (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": {
     "auth_ref": [
      "r17",
      "r18",
      "r225",
      "r230"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).",
        "label": "Shares Issued, Shares, Share-based Payment Arrangement, after Forfeiture",
        "terseLabel": "Issuance of common stock under equity incentive plans, net of forfeitures (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r17",
      "r18",
      "r225",
      "r230",
      "r278"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period",
        "terseLabel": "Stock options exercised (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "auth_ref": [
      "r17",
      "r18",
      "r225",
      "r230"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.",
        "label": "Stock Issued During Period, Value, New Issues",
        "terseLabel": "Issuance of common stock in connection with public offering"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": {
     "auth_ref": [
      "r17",
      "r18",
      "r230",
      "r273",
      "r279"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).",
        "label": "Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture",
        "terseLabel": "Issuance of common stock under equity incentive plans, net of forfeitures"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": {
     "auth_ref": [
      "r17",
      "r18",
      "r225",
      "r230"
     ],
     "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",
        "negatedTerseLabel": "Treasury stock retirement"
       }
      }
     },
     "localname": "StockRepurchasedAndRetiredDuringPeriodValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r18",
      "r23",
      "r24",
      "r92",
      "r154",
      "r161",
      "r339"
     ],
     "calculation": {
      "http://www.calix.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": "Balance at end of period",
        "periodStartLabel": "Balance at beginning of period",
        "totalLabel": "Total stockholders\u2019 equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent [Abstract]",
        "verboseLabel": "Stockholders\u2019 equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityNoteAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Note [Abstract]",
        "terseLabel": "Stockholders' Equity Note [Abstract]"
       }
      }
     },
     "localname": "StockholdersEquityNoteAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": {
     "auth_ref": [
      "r52"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.",
        "label": "Supplemental Balance Sheet Disclosures [Text Block]",
        "verboseLabel": "Balance Sheet Details"
       }
      }
     },
     "localname": "SupplementalBalanceSheetDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetails"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_TechnologyServiceMember": {
     "auth_ref": [
      "r251"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Technology assistance, including but not limited to, training, installation, engineering, and software design.",
        "label": "Technology Service [Member]",
        "terseLabel": "Services"
       }
      }
     },
     "localname": "TechnologyServiceMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": {
     "auth_ref": [
      "r158",
      "r159",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms.",
        "label": "Financial Instruments [Domain]",
        "terseLabel": "Financial Instruments [Domain]"
       }
      }
     },
     "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails",
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockMember": {
     "auth_ref": [
      "r47",
      "r231"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.",
        "label": "Treasury Stock [Member]",
        "terseLabel": "Treasury Stock"
       }
      }
     },
     "localname": "TreasuryStockMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TypeOfRestructuringDomain": {
     "auth_ref": [],
     "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/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_USGovernmentAgenciesDebtSecuritiesMember": {
     "auth_ref": [
      "r260",
      "r410"
     ],
     "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. government agency securities"
       }
      }
     },
     "localname": "USGovernmentAgenciesDebtSecuritiesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails",
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_USGovernmentDebtSecuritiesMember": {
     "auth_ref": [
      "r410"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt securities issued by the United States government.",
        "label": "US Government Debt Securities [Member]",
        "terseLabel": "U.S. government securities"
       }
      }
     },
     "localname": "USGovernmentDebtSecuritiesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails",
      "http://www.calix.com/role/FairValueMeasuresandDisclosuresDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": {
     "auth_ref": [
      "r302"
     ],
     "calculation": {
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset.",
        "label": "Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount",
        "negatedTerseLabel": "Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount"
       }
      }
     },
     "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_VariableRateAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of variable rate.",
        "label": "Variable Rate [Axis]",
        "terseLabel": "Variable Rate [Axis]"
       }
      }
     },
     "localname": "VariableRateAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.",
        "label": "Variable Rate [Domain]",
        "terseLabel": "Variable Rate [Domain]"
       }
      }
     },
     "localname": "VariableRateDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CreditAgreementsLineofCreditDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_VestingAxis": {
     "auth_ref": [
      "r283"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by vesting schedule of award under share-based payment arrangement.",
        "label": "Vesting [Axis]",
        "terseLabel": "Vesting [Axis]"
       }
      }
     },
     "localname": "VestingAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VestingDomain": {
     "auth_ref": [
      "r283"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Vesting schedule of award under share-based payment arrangement.",
        "label": "Vesting [Domain]",
        "terseLabel": "Vesting [Domain]"
       }
      }
     },
     "localname": "VestingDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/StockholdersEquityStockOptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r111",
      "r118"
     ],
     "calculation": {
      "http://www.calix.com/role/NetIncomePerCommonShareDetails": {
       "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",
        "totalLabel": "Weighted-average common shares outstanding used to compute diluted net income (loss) per share (in shares)",
        "verboseLabel": "Diluted (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME",
      "http://www.calix.com/role/NetIncomePerCommonShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r110",
      "r118"
     ],
     "calculation": {
      "http://www.calix.com/role/NetIncomePerCommonShareDetails": {
       "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": "Basic (in shares)",
        "verboseLabel": "Weighted-average common shares outstanding used to compute basic net income (loss) per share (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME",
      "http://www.calix.com/role/NetIncomePerCommonShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Basic [Abstract]",
        "verboseLabel": "Denominator:"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasicAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/NetIncomePerCommonShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]",
        "terseLabel": "Weighted-average number of shares used to compute net income (loss) per common share"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.calix.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "stringItemType"
    }
   },
   "unitCount": 6
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "205",
   "URI": "http://asc.fasb.org/topic&trid=2122149"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e7018-107765"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22583-107794"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22595-107794"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22658-107794"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22663-107794"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1448-109256"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1505-109256"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1252-109256"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1707-109256"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1757-109256"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1500-109256"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1337-109256"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3630-109257"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e3842-109258"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e4984-109258"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "http://asc.fasb.org/topic&trid=2144383"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6828210&loc=d3e70191-108054"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8924-108599"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9031-108599"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "a",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9054-108599"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4647-111522"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4428-111522"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4531-111522"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5074-111524"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=27010918&loc=d3e74512-122707"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121553693&loc=d3e26610-111562"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121553693&loc=d3e26853-111562"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(aa)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27161-111563"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27232-111563"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=SL120269820-111563"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(25))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "320",
   "URI": "http://asc.fasb.org/topic&trid=2196928"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599878&loc=SL82895884-210446"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919244-210447"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919253-210447"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919258-210447"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919230-210447"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121558606&loc=SL82898722-210454"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922888-210455"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922895-210455"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922900-210455"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121590138&loc=SL82922954-210456"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=68051541&loc=SL49131252-203054"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=68051541&loc=SL49131252-203054"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=120320667&loc=SL49117168-202975"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "((a)(1),(b))",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226348&loc=d3e2420-110228"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.P.3)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140864-122747"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.3)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140864-122747"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.P.4(b))",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.P.4)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(b)(2))",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(b))",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "http://asc.fasb.org/topic&trid=2144648"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14394-108349"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14453-108349"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14472-108349"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "http://asc.fasb.org/topic&trid=2127136"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68070138&loc=d3e11281-110244"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=121555522&loc=d3e12021-110248"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=121555522&loc=d3e12053-110248"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12524-110249"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(2))",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(3))",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(5)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=99376301&loc=SL5988623-112600"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=120520924&loc=SL6036836-161870"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "http://asc.fasb.org/topic&trid=2208564"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21463-112644"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21475-112644"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21506-112644"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21521-112644"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21538-112644"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "505",
   "URI": "http://asc.fasb.org/topic&trid=2208762"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130531-203044"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130532-203044"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130533-203044"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130551-203045"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130556-203045"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130556-203045"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130556-203045"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130558-203045"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130543-203045"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130545-203045"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130549-203045"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130549-203045"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130550-203045"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "http://asc.fasb.org/topic&trid=49130388"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(03)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118257860&loc=d3e4179-114921"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121326096&loc=d3e4534-113899"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a),(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=SL79508275-113901"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(g)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11149-113907"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11178-113907"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "40",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109244457&loc=d3e16649-113920"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "http://asc.fasb.org/topic&trid=2228938"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31917-109318"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31931-109318"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32672-109319"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32687-109319"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32705-109319"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32809-109319"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32857-109319"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330215-122817"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120385591&loc=d3e38679-109324"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "http://asc.fasb.org/topic&trid=2144680"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5504-128473"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569616-111683"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569643-111683"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(7))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(3)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "810",
   "URI": "http://asc.fasb.org/topic&trid=2197479"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(1)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(2)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19279-110258"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=SL6742756-110258"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13531-108611"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13537-108611"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13537-108611"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=75031198&loc=d3e14064-108612"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.1)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=98513438&loc=d3e33268-110906"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28541-108399"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28551-108399"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.13)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918627-209977"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918627-209977"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918631-209977"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918638-209977"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918643-209977"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918701-209980"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121568110&loc=SL77918982-209971"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.14)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39599-107864"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)(i)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)(ii)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.17)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=66007379&loc=d3e113888-111728"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=109249958&loc=SL34722452-111729"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(4)(i)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(4)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(5)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(6)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(7)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(b)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "http://asc.fasb.org/extlink&oid=119991564&loc=SL119991595-234733"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Topic": "928",
   "URI": "http://asc.fasb.org/extlink&oid=6473578&loc=d3e63223-108013"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "http://asc.fasb.org/extlink&oid=68072869&loc=d3e41242-110953"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(17))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(6))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.15(5))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.15)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.17)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(26))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Subparagraph": "(b)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=d3e62557-112803"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=75038535&loc=d3e64711-112823"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.(a),19)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(22))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121643868&loc=SL117782755-158439"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117819544-158441"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121641442&loc=d3e19393-158473"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=99380617&loc=SL75241803-196195"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "http://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "450",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=6491354&loc=d3e6049-115624"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "450",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=6491354&loc=d3e6052-115624"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.24)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r451": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r452": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r453": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "308",
   "Subsection": "a"
  },
  "r454": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r455": {
   "Name": "Regulation 12B",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r456": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.25)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.3,4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.9)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "210",
   "URI": "http://asc.fasb.org/topic&trid=2122208"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e637-108580"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e681-108580"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669686-108580"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL34724394-108580"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6801-107765"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e557-108580"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(24))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(4))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6911-107765"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3151-108585"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3179-108585"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6935-107765"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3367-108585"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3000-108585"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3521-108585"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3044-108585"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=SL98516268-108586"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6935-107765"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18823-107790"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18823-107790"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(e),(f))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(f))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "http://asc.fasb.org/topic&trid=2122369"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21914-107793"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21930-107793"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21711-107793"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>71
<FILENAME>0001406666-21-000120-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001406666-21-000120-xbrl.zip
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
M]RA6US<:'WEDCPZ&TGR[R\;C2NL'^UN/[LU'N.W%Z\VO\OFXWKS= UA''F7
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
M,99(*!Q8%)J9P*RUAM)4+P][Y97+OU.<&7[S&4DUQ(@8L#2!,!60AL""!&,
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
M<X((FP6I4<8$)YE16L!?2C@>G-5<K6Q47;]C0_>__Q,+] =9+:6>?PKIFTV
M_S 9K>[]9-#G:4]_R$A+LH:I)Q_296HA>'+!E@JV-(R%N]#\QG!X/^]T":QB
M ZXAU9U#H$MU K3GZG!G%U5:?S?  ^-JNJ9VW"B?'-RA2QU6^;0+5K8.= OH
MTDD=U:\JI_63#Z3>VD7UV@$'*WM1W=F]K-Q#EQBS/A!G,VQ#3!:79\H0!098
M>!N01U+P,5UB2TV7:GN;E?W=(2DJ^-*(+_6OU6M"F&*WTQHYBU__N]3OE*9U
MK[QY^S>=5JO12W.;I;<-<)R@4$!HUI]S_'![.(V9GC9Z6"YMY2^-(5Y]#C1*
MC W)HC(^8]Z33!&",JFL8<9@'3%*D_<0/#(AV5,X)<8+P9!>P$CBS*PF80_2
MZ6?7W;UP-,S;VNZG^M@O3W_19V GS#.',PF>-6-:X,QBJS-#M67":N(U >,*
MPG"Q6MIMN[L*O#;':<>'.8;?MB^,ZY<2P&GB^BOD)=,K[9\%-ZQ_7FJT2[O]
M7NG-\7! XT&CVKJP2[.:X<A-,*S6.*5/BH9_=(RL<?6T*W_86+'&U,-"]Z?'
MV".MF$50\E-S,)L0NY>V-)YU.^?)V=P>DQPYG91=O'LV7H,SW #Y9I1']4W'
MY],'C>+M^LGKTW(+GM'ZV(+VH<K.8:/ZZ>]F^=,NW&?[XK"U2^NUW:MRZVZ\
M?=8H[WRXK)_4+P\_U;_4:Q\0G,OKK8.+^LDFM/=MJW[BH?WER\-[XFVN@T12
M^PQS'X"":I-IZEV&HV'$^^B]Q"L;6Z%IOIAN>/Z ^WE&D'XZ+8ON&79\TCLM
MO<;>5<B:N=@=KR4>)?K/<3@W:U7<O:6*2' =8PP94LIFC$J=V:@54$JOI0X4
M4Q-7-H3*$*-*8O1#99RVSYF-7MXOP[\-[7RITRU5^\>A6_I[T&WT?&.X;0M8
MZ9^V^VKCEE\8GMH],NW&U?#[[X6=R@'*NVM[:_MKI>W66;-S&;HC6&^9EE*E
ML_9[#@<PG]T(;WK?#;W>^)]WT "<2P/\2_$X_LQ)H)9$D6D!9I09X3)E#,L4
MQD%;BHR5;&6#2"G!/#@(5GWIO>F>?C&7=VWIZO,/?8[!>@,?J]U:YTO[Y2%&
M/Z. J;#( V(6 ?V4/%,!0[>!MV,"@==38F5C'U3V[T[O&_HY.Y2&'JC:?0^1
M2:/M\AEH_!)4Y#/E@!&C-@O6\XQ)&S)C 31'$ HR,DVC7=EXLWD7I)EA]+X#
MT6/SL'&6VU#PR0A=0=L_&PY!&[<N$YS1C %6F9&69PY $S8J)!)_U!S3A\\D
M/+L'?=AB]M_&$*<QR/==T,#&F6F6MB^"&Z2J8:5JC"GCRN^EWP#^4L+_E\8@
MYS+2^HQJDGS,9C>8%Z@8<.QSJDU-M,69DFE- 7&@&#[B3"KFB*3422-7-AA2
M=]7B]^>T7:DP7O/]<:?]4B= #_AGG H-6[!17J71)QMT9HA#&86(UUFJ(\-
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
M*>5")A%H/-/$@#BG4HYB56F4%XU_68,UG3-HS:B2<MJU=9:2DQ1+5Y:"VDS
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
M3""*4:$S[=+ G1,J4]J@3 E"(+*."B+LE0V^"MSN >9M)&0E<PWNG,S<]PN
MWR>+U4&_US?MQ'(+89R;,![0SYPS$ED(*:EO*B$N>*8-HUGPQF&C$;-^7B:N
MD*A<2I0 /^F)$9DSWF0,K%EF&449^$KFHL"(49,+B=KM]0:%KYRS,/F M6,X
MHT2&C'D*7(QSDDG/F/+"FHC1HX5I'@ZO$*;Y"Y,B'IE$O"0V$82)\<PH$S+A
M!#7",TNM7=EH=W[.NA[.RQI#W(<3?9VO'NK_L_?N36T=6;OX5U'I/75^\U9I
MD;ZLOME3JG*,)X<Y S@VF7GM?U)]M>6 Y".)Q/:G_W5O@8T$V @)L06=S!!L
M25N]>^WGZ=5/KTO'3DH^^Z&?CEP<=UBO4_BK>==N]/&D_"6GS=^2KR)M&/Q9
M(SM;'.QT4T)HE*;*!,LRP?P!I:/*$A7R)LK9D/U6D_W6%!-()@43SE.*J=MO
MSCO8TQ:%<U;HMC%JJ4+W+J&[>&!+'&><:X@LXQ=IU.""#&"=-%X1R2EC;83N
MIL^*VW<@6*(81L-6G ;.AE(/<=:'TW<_<+8]??N?%Y_>?,ESQ%X=O_WPZU\'
M_]D3^VR/O/WPC\$!>_L^CS#_=Y_^SY<7^#L*R@G5')!DJ&-B$0RG 43VP852
ME'KWO9W;!HX"ZR/4\D<H&]:%T@\#C<N/4,B_.<D3$$P*A;*"*_]@S@$O/(WU
MN*8U3^'^Y]\=6BM+;0HA?'X*A="@/57 -/'H'*; >3L/ >LCU=)'*B@:C)(<
MG".E')M&T,[E!9(PU%9H;I0N"<5D8V> FZGUM_ X5DWTGA_%W\COBF'D# 4$
M2EU9:/-3&$V B)YB*"H[_5[$5HN>IGH V))'*AB;35Y:Q J>V<TG#::4G4RE
M +=D3M*2:"UY3W%V-T)ZKWG;)KR\^M ^A(?VQ:>2\D*3"Y$@)%%.A[B)D#>J
M$9!:I#[%R.+R?MZ]/%1U76W#\Z12)COA$)0O56,,96",I. $<BDY<X'(3(.L
M1]FZ:'"=9X>U9EV+"B5<@'@]@K@5MN=/#Z-%[;T1X*W++@H2D?=>Q@$+UB2O
MG<I_GS=@/6%JH]4'#-T-K\X5NK>![L+IH5 DF\W;O$/E!- J#HYR"JBDU#1%
MU'$&7<%;!-W'U%[U61YRF6Y[W/EH!P$&PXZW'P=3>UR+3&Z[(_+-MB^S:?>&
MSV>&O4!RE=^6XK=+;59%U(X*#) PB5E=?Y/0@94I19F<)"7YS6CL:;XRP]7
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
MH!)0"P':& U)1^U=C%%YU>T+[#%6B^E6_-]W $K%_\KX7ZAC%15Q23!@RB=
MQCRX[ 5D_%.AT.ADK2A9:K)'>'4 *@'<M_A4"6!5 EA0G@@/S+K21105R1N
MF"!3N =E&&I-G-:ECP:5HF>VAP >06'=O:$?G<1.&H].SO60T?#>HU8>+PW>
MDPXR>PS^-9I4(ER."-]=JL!!HXC"DUEC992)@N,F *&"2Z]CE)J5"N,]LWIC
M^671LD4';8^7 >Y)":D,<&L&6$RI<8HF)F)IH5KZJ_,(SD8",G(CM5*"V])1
ME?:46%<V<&6 !\4 ]Z.%5 :X/0/,^P "H[<Z<HC)*,#H-)@4$8R*V;8N,6](
MMR],C[.5]T*5 1X@ ]R3&%(9X-8,L""'F, ")IV (,T^@(XV[P*2 2Z9H5)%
M&YS+NP#6(VIK&. 1-%/>RQ@<Q\FT*1,RFKZ/X_/0D%YG&*>WZSET4WGX!M>X
MNTXY=9 /8I"/*=_N*U@O0O2^E<OM<TO^MEEU<I+O-_^VZ(.<&W/F@IR=RAR,
MAE]C] YB;7ZXE%/RX5*O<Q>L)IYRL$JS4J;,@R4L@D/OO#;4.LQ.R16AP?]=
MH_L? 'C7("Q6\&X.O(NMA015E-H(E H-B*4-"2,./.':)DFL,;+;YZ*B]X&B
M=W51L*)W@^B=7WJ#,FB<XL"4"*403RF=IR5$S:@503"M;$;O%;4[*GH? GK7
M(.A]1>\2REZ%]AU >T'JXY;&[%DY8#(DP&@)6!89*".BB=13$TRW3WM,\G:
M^S&5_3V\I.'==XK7P^:YNQ,(&DM>I*XY3JLDMA2)O5B4!H2E//LG""*O5)G$
M H(EFH.SV3MQW'D,OMO'E2BLE@IL+V[O3ANHN%TK;A=4 >1>6R8I4,'SOL)+
M!98;!4[(&*-5*%CJ]M45C40J;A\$;N],%:BX72]N%SH+J^B$+@7T2>" QE%P
M@5F0ACB5M+?:EU+Z5]3GK;A]"+A=IQY0<7N'N%W8[-M@@J#"@E!*YO66)#!:
M<4C4*>ZY143:[6MR.;3_7G"[SG" K2GK,OA^$,]]1P@\L*C&^U4'\AQ\^JIR
M/AN&AOVN53LK^RW%?GN+*H%GUA"&+-,=R;L-K@P87U*=2%*.(W?,I5+EP:PN
M=-9XY@>%_'7J"S<X_ZBT<*>TL"!"^.0M45*#2D(!TIC 1D$A.1FXX9:C:TY
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
M\]G3NA>M]/:8Z<V%E'C^E"1.HW3)"4ETQ$2<"=$$4=6VEG#<YSF.,U3+*'B
MJ$3VWJ@48 PGX&5RU"?J2<K>&T?1DZMWHMX4QVVZ9/6U/=#H#A/GUQF4O,GI
M$\"2\W@_<&[@ \[.LC=//L;AI,F^^D%#L^_%C-RT1V[KJ.ULV=[Z[L752M5*
M]VVE)=P$FV^;9:^:<$OS+JB<S"%S/B0E23#"K+=>^;-OG1N/1M]2 $H&P-[P
M+/Z_B<!J./'Y!4I\%;-[,1E,X^LX_G/@X\L\,:/P*OK1NV%SE7_;X]-8O8]E
MO(_/"V=]&DGD*O%L:<H ==Y?6>$4&&:<)=$[*HMRU).KMR2IC%!YNUJI6JE:
MJ5KIWGV@S?9LJ3Y0NWR@104F6<6S\26@9*7)(M-YATXI*"YL(BP0G5+[O* U
MI=;,H,TNR"07Y);+LDF; +\WF9PVJ3>C5,24DG ]*?I*IREETXF-/%F:B>7A
MEP3:C\?YN[ZVGL\ 3G$P/?U>$MN6-:"\DW0<3@T+5!@O+!ITQAIF4S32B\2%
M"#>@RBL4Y&*Z&'9/QWGJ9J0V2\-I?OZ\2(.5X)8@N//F*]\"UFE$JX@%8RP!
M-+8$K)<$'1>4(\08H7FW+_C*+0)J)]F6 /F*3),-H;CQ1RJ(UP'B^:P3X1UG
MB FD+,WIJ(U@(@T0B>>(-!'"3;=/L6+XP6)XL\)M!?A= WQ>BDTA<<Z$!N-=
MWH0P9L#EG2C0Z"2-6F *F%?IGJ$K]YRH&-\&^:A:J5JI6JE::1NMU%HIMGHU
M=ZX]+(BKZ%&0TD:;2RL A5*@9?) 9-))A6"]%HU?PU2+_)HUQ:]ML;AZ$*=%
M.AV=Q%NIHUM[BE3/^JJ5JI6JE:J5JI7:9*4E7&K-#08:*)="(4_9N29!HO/&
M\)A<4NMUJ5^.1VDP+<6)JZN\C*O\>B&+%ZV*L80=!$L=( D!G [995:)"IL-
M9Z+K]JE2/60KR_P5O95CJY6V1K:H''M;CEV4(X3B:)U18)7F@!P#V*@(&!:-
M\)P1'G4;6;9&>\U:(OBYE@C'WVN)\""5U:I_5RM5*U4K/1XK+5/'2M,0A-.L
MU*]$KYFF*<CLCZ5$K.=$WL KNZ8L7[/ZS/7CV6O$\>*3'<3I83JRGUZ.QF6
MSZ;3\<"=-JT CT8O[3BOI]5M6\9M6ZSA1SP-E'$%SB#F#3&)8"E&$"%PCR89
M:D.W?X6_MG1MJXKJRKW52M5*6V6E95;(->@6=85LPPIY*8E-<&X2-<"2I(#2
M6="!"3!:"ZNBS2_']JR1FZX/=*>H_&%?J$,_';DX[K 56D.=3<!9Y::SUM(\
M3W\8G99&U>?W\ZA[1SGI74S1.,$):F&LM80@"XFFI*@TLQ)H*XJQM7?4NECL
M\T*FFD+B63 "N'$,T-L$QA(#-!%FDDC9U\>F=Y1:/5EM[7BZYY.9>R:.[:T7
MN?[YV4Y"O:*@Y";8M!:47)5#YQ,%C2--"5 0U#?]][(+**2$((0)F4"M,:1I
M3V76=;Q5*;12:*70:SI@)>)D-.BD8!B-=,EXR;U3T7G+F*T4V@H*74C%I,&B
M"1Q4WCL#:DO NJ:I E<J&16,=]V^T=C3?.5DS$JBE40?(XDN(UI:)SP/(@K,
M_WCI\^X0+>4V,**B2?1Z%JU-MNZ(,></Z! C5\@21!H=H @$G,V_T9@,LT1+
M:K/3R8A<07VL1%F)LA+E#_IX>:LXM390RE#FS1]W(:'P/CHK@F4W(,KJ=VZ0
M1><S (1QG,I(P2'E)<P!P02,X (5,<I$3;#=/@J2-^^B,FEETLJD=RA](A$Q
M.**R7^.($R8YG10JQ7V0\6;[]MHJ[ Y/CA9:A?&DE$T1@6K,FW8B$UCF+7 5
M/$N,F!32VEJ%50:M#%H9]/L,BM2@1G2,2<S,J;55&"CW)/^%)/7PJ"TT.A]&
M1$P,/.7]._IH 37U8-%3L%K01'W*-@VE6*SH279Y-[^M--J$(_W4Q*.=]^"Z
MT%'LQ([?#8:SKU]@KE):.H[/P-C_NQO_U)]OY77U9>0U5VE&\'6^9G>=Y^K8
M?IS$)^>_/ V#R<=C^_G)8-@@M/G0T[.KGTWB%;E;S??-7G[ZUR!,WS\Q9D=(
M6F!]%HEU]L6S5^E.@_@%(\Y>8VI'<+SV9;)#KWWM>Y<5.XS>[JK??\VH]8]5
M[G"MMV2LV5J2;\E82\>^6SY:FQ^LV9'4;,E8Y8[4;$O&:G8,N]E8SP))S]]P
M[JW,W-NKO>,?!HF;2V^]PF>=<?9FG#-YHX#365QBI_&)K@TQ76(:\EO'H[\6
M(U.W:DJ^-5OIE&XK,!AVSOJMU F:39#WIR>GQW8:0V>68#T7P=_YU_<2K!_O
M5.W&-/"#:9V99F:.QM%.3L>?*_5<G)119IG.Q0UJHSVIIYW91G5NFNYB%;L@
M!RVQ?6KWI,[B[6_PA-WHEA_5U#T[R3OO=3%6J]^ZIE(I[1 H?YA;],_38>PP
MU606D55JH3SJQ"'-@L- ..6"(S)B49HD4%'+A6*:-&HE(9*IFCCT'=WR)%_[
M0]$K_5]O_[/WY7#W5SSX\"R/YU?R]N@W<G#TYM,!R__]\@=;U"W??/GU<Z-7
M?OGY^$W^OH/==VQ_]WV^UU?'19L\^/""YS'PPZ.W:7^PD#@D!-+DA0&B2X$
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
M,HL21PG7&(C60<H0DK=."X*<7\^B7],^*V.NES'G3^GR!H$[$@,H59H:"IG
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
M4[#920R&$P!*K!E8?<Y$K)QW/Z";MSX=WZ#H'5#T?.@_LV ?Y,*PS'J&.*7
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
MY*NI^?E[S[=3.25QT (PSG%0"I</YT3CN31,8VQ/E\![$S^_'\.T%[?3IO<
MDY-Q=SB)XS^&H#6;@_"VJO0^V/L0?2R^90QXN=*X*3I'7X!DP*0:@D F$^**
M"*25X<A1%@4@&@\Z+DO7%< F'P#7+O"J$M?F<]T:G4YKNS4 R0?Q&A?C20QY
M_V2R'X$<]7K#(Q" UK^* 7PRG,)[P_C?KZZY45BMB<4@ ,"]HG3],?8.C5CG
M4MUF[U"Q=7(/E>G).M=\]3N2>!TK\X0:JZ_7H&MN2]Z@%OES*UN^[2?#O,])
MV^4>?L;Z%US$?7';=SX>Y[=^5[3W6&>7PB4(?PV1>+BBH2_*3_.2W#"<&%@O
MN .#C^ND<L9V'DC>S*128K.:.+F9<)^1TG>CX7C\>CH: 1K5QQ=S.X9:^6+Z
M'_J[.V^_?J9O#W8/_NEUH6V=_F?Q>6?OJ'ORYJB[]89NO]LM/O=SV\[[8G;?
M[?8ZGSX<?/[4[7<__<W@VN/=@QZ\:Y-U=C:AS9_Y;O_W8K?_-N]7'I\/EB,<
MS!?C$4Y.(<YT0L98CU346@N<A&&R]*0KO*J4W(_D:6G K@&[.X(=,4DD%0ES
MD1L='";<1,]Y5$$XG5;C<V[ ;H5@A\]O&UK#,1CTR-!<7=0DAHP/&"5-O11&
M2Y,3_2C<UG3%?N?[ [L5Q3W4&9HVLT^B]->!'I5^^TF:]EIVIBFW(KHO.E7!
MOQZ$X2WAVGP2WPY'6[,IO(AU#<S= N:*)4XGK 4*9R/2+A+$J8;?%'7(8!.=
M#(00 9Q.J8L8]^_Z1$4T*GM[E7T0GM+H\_WI\WG:$HQD0@J-J."@S\829+WV
M*(CD<-Z><-Z7.4;PQ1PCCZ+1JXX?:F*0:F/N-3%(C^[\ZL9) ZNW@-7C)9JD
MO/>:Y@@D0C3B 7MD0HA(X.!QPI;1G)[=D+:AYIE'(35HVJ#IHZ/IXWC7&C2]
M+9J>)ZG41@NS1I"47B .JV'VLEF4A/-!>!5U,&L;TK1AT7PV:'J-6,F'BN=Z
M/_@&,CP<'<^D>>=E!V]!/S:_"$^5$5$C(01#'*PHY'A("',IE&'"FL"N&;RE
M'BUXZW1BFVBM)EJKB=9Z<O%)3;16$ZVU- @?[%$+&"O<:WNWV[YJ0A>:T(6'
M<56=YYNG9 1$N#.78#"AMM.'")WX5J>#S7>QH@[VCCIPS>>#OZ!=_^P#WRRV
M=]Z([LYO!YU\_TZWMWOP%<.[^+(5!=;24>>D5T!?3KJ?WK#NN_>BL_.5P/.A
M?[_U.O2?_O9./FZW?S$<RTHP=P5.2%!N4#XB@C0G&+E #0M:1JOMV@:1*S:A
MGHN_J0&T%P-HM_86-8!VOX!VWBTDDE6.,@8F.,XUC'1 %@<!^(:#\KD2I@-
M8TVX57VT\&TQ*,;[,;3VAL.+><N:4(U:T+(;^+Q/(6X^L>_RO#88=VN,6XZW
M4I1&925#24>%.)<$&8(5<MZF((AUR0+&*=XVYLY5#YJXJ_HJ\T-L8#7*O')E
M/D]8HF%"IN 18Q$L,.T],LH1A)E@A!/N2<Y@(6B;WIVT-"%739! $R107\($
ML-J Z4W =#G$BF MA<QI7!+.N5R$14Z(A$P0G%-&I><1F)%H$WGG/'VU"0IH
MT+-!SYJBYX,RU 8];XR>YZFHQH9$X3R2Q&<(90'9P 1046<2EM9J*2LJNNI<
MTO4.J;J8?NY"G,M,0W@.03D<CHM\V:M1[,'UW^*O\RB'4GT6[IIU&Y_=8AWT
M<#JY^I8+F^T/#@)ED!#!YT-^%G_NC\XB!?8B<J-HOR*;H*VO;._('H_7?CD?
M(U0,T.+X7=7UZZ:V2NG>HJ,JV0(@&HY*27@%$AU'^2IHCJU-6UK[HXR___/S
M[(AJ;6.G2MYB3_//K718KR-.#S2J=VS*C08U1\R]SDMA>5[X;&P7]>32#'\_
MS=BWE.'/26^-8-A@[#FE7%,I3&0\**RD#OS>,_S].1H> KX>_]FS@\GF(.1B
M#X<YW^1+C@7M[GUQ1 :M%44R.HJX%@P9S#B*PH087"!"B]K'@LXGMV4'H17G
M,]OD\FNB0YOHT*<9#]E$AS;1H4N#L!/'DS-P;\)#FVBJ>W<,1<E)3F4<+ ?>
M:;TVP2BK72:P26"_$K?ZE<RT3'#U/%Q%_<[QYY/?^[M;7X\_[[S!G8._>*?_
M>_'YY/U)]]-?)QWXOI,_?_?7]V57$=QWT.GO?MW>^7T?VG?<W=H[_MR'SPXZ
MT/[\W/??2W?3UB5I_"(QR?L0$37<(XX%1<Y(C50*QFKO$[=T;8/IMKY[09PF
M=+0!NZ<,=HYK'S!)41'!P48 !=$J<C #77#PRTJ\X W8K1+LSOO%2<ISYRU2
MVCK$0W!(2Y<0,<9RZBU.0@#8J;94^*F W0N(*_TX3),C.[I=8NHF".UZX*8I
M=T0:@['2G'EEN=.$8DF9$YJDALG5#=PN).]3DBKE(N(Z ).3)"&0UX0H$QPG
MS##5 &Z$MSF_,[@UP:2UU6,KG *5-<DPSKUR5BK-#+'&.$)45 U)J9T>+QU\
M$9X*@&$4E>*@S"HBJT"/C8^26FEDXCR?Y&MC<^?$ZC6*(WT"/.3UL'\XG<31
M_?K8KH5DEPS>LT.RI*R1$@3>2P8/<SKG"=+*,4 T'SUO&$G-D&PYB%/0F&+$
M&CEE6?8M8:1AW0'K*W')@F-$T+*DO3"K.L97(_=1H\=S'['1G-"0D]$2L#&X
M<R$RR2,V/CCK5E,^O='C5>KQ>4;BG-31"(JLMF!9>&N18TRAD",@A&,N.K>V
M8=I@+-9(C5^ 8^3M= 1J-QW%,JPC@9KD,K"-F^0>P<QC0H(-AKMH.+,VVU5<
M!*TE#<S2U)"2>H%9]_5RW:HDF+(D("8419P*B4R"WZB,,(_2PLR%G!-=L3I9
M5XT:K]C;*2.C! QL*P071MN(DR4L@*$=*-'-5D[]U/@\)Y%&<24P01&'@+C
M+'M)+$J8@#;CJ"T1:QL4.,F=,QXU3I*;*.$?T8[C_K 76D7_<#3\5I:LOY=<
M=8V!-0.SX#GEW"C/6.#88*M\I(%:)J1GSK.&D]0,S):#<$A*2BKL460$#"R0
M8J2# XHB<20F6.*URIR$Z%6E;VO\)/538S ?1 (=CH$SKL&:D#)%%3WCT8'-
MC1M.4CLU7JH2:5SBUD9$ I6($^:1]4HCJ6WP02L58LQJS/C%<DM/WD]2::.I
M-SG9&4YL[['](W>+&WS*"/<@23@:A%L=PBW'F$@+2Q*( 7(A*<1]<L@$EI"3
M+$A8JRPG;FU#RK9F=W8%WU1;GI!KY04CP$,DDF@08)4(<)[CX&@$YPPCBDT"
MCJ,DTD8&%"66(D6:C)8E E"V*L=+_4)HGYY79M/[:7_:L_F4;XB'(U"<ZJQZ
MWCBR_2$T]*3\H''4W'1H'Z8F]LU*E<WG>FMAJN'W7LR_ ")N+LSXE6C9 .5-
M@'(Y^ 4+#*:[)HAR)A#G*B%-I4)"X^RM-M%1L[;!15NKBU3I^L5W&W].C;7]
M@0H3-MK^"-J^Y/KQRE')@ SE^MH\"8] KSWRW!AMN93&I4K;Q<6,6X^B[7=U
M^]PJ[^M/GG%-)MAD+KS_\:DU"->-<5T)JL\FD^$#X>KV<K2.U3Y0FT^F"RSA
M!Q'(ZN00]4IY:Q*E*6_SX[:1JSK4]/B9#!LT;="TIFCZJ.Z[!DUOC*9+Y]\U
M5<83@[PC$5BJIL@(Q1 )1G*&I3%&EF@*=NNS0=,:E=K>GNS'T>9X'"?C[G#@
M9_6V7VQZQ4W6_>L+49X:;S2*AB;$@:PA&Y-'UK%@;$B.NWC-](KDT=(KEA/;
MZ@T'>V@21_V6+>?X!ID56[/_7"?#(KDT&UN38;')L-AD6&PR+#89%N^1*K\?
M3.Q@K\@P6T)\DV.Q23OV/%Q89Y(]XZ=Q\N:[[TWS<.9*<4=%K_<\C*^#SG<P
MNDXZ6^]Q=^OW_O;.AZ_=G>J>SLG[X^VM]T!/NW#M;G_9^.J<P#4[G2,PV'"G
M_UETW_U%9O3V!-K-.P>_05O>%KO]W8N9%CD6@1I!D"R+/7JAD#8B($*()EH(
M33%?VU!MP>]\\*Q)M-@@WI-&O(<I-]0@WJH1[[R[B3FF.0T6&1$EXHI2I#TG
M*#CG-&>6.(ESW@!![ES=MLFVN#(]O=R7\=A!\T\O4J1N#&_!^=@IQC[V>G80
MA],%3V2#=C=!N^78>(:Q$$)IQ)RF&>TP<MQIA*4PQFJ86)76-EB;JU7YUFNT
MU]BH\D-2ET:55ZW*RRD8%4NAS!&22WD[%9!FUB/JJ%#<6N<MSLD%0*=KI,I-
M)>_:<ZNF%NW3(TL-J-X.5)<#XJ45SB1)@!]9C'CB'#GF/(J<J^BQ"I2RM0U"
MVK!B/INBM V,-C!:4QA]8*+:P.AM870I&2>WV#!'4-)&@YGI'#(B^]BD),1Z
MB5/R *.T3>2JLDP\/HQ>(X;K$2JNED]\54R@Q?X:04(+F\>E2K0V_7^G154O
M_#IQ/S^LE7VOX4WO!ZV.'?G]%@"";E=G1L<MT/1!B*%5#%JGP0$9,]IEJ%-.
MEFX'QZTRD*&\:C*$.UMV;Q3+G&"MHV*RW[*M;_"4X:@%WX;X+?:&A_"9!V&P
M\-SQK/)+ZW T#%,_*5]=5F.')\;!OAWX*K]8ZW Z&D\M/!6><[1?0%L7&U&,
M6T,'<E7>!U?T[=<(SX%73R,:[Y=OL,?5D\I"T>7=\-*]D>VW6^.I.XB^?+;=
M@_;GY^1TJS%<]9!A:OV?FX"Q-9CSA+G+62AYTDP(:[U@EG,.&IW!F&C,EL!8
MW B,/PR/;6]R_&YJ1S!0,8YA=/K%I&SP9A_T_@R9Y=-$YEO'(G8/_OK^Q202
M110,*:8 664R2%.NX#>6,X,F+GQ.WR/6KS+Z0?-Z\-=Z:V=_012R7#@[SD&
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
MQQ)5M8=%B%\GZ#V"'E=#X5V@<-ZUIDBPVOJ$I%9%2J]'1H(ZARGCE 0A9%0
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
MY0*LG(4/Z(>"L#0!LTFP_DO,!<J+82L#I7'8*T^T\,IQ1X6Q*>0"="L]UTH
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
M>WRN>P9E"=ZT'**'2,NZDSS_!W^H?]_/[/_XB#MQD1EAO/#;1MLQ5X1]NG*
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
MPF@:P$%3YM8O)A-DH<INPYC!2CGJ-B?<&3JMI*D5Z$BR">* '&8K<"EK!ZF
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
M^J!/M]6V/.#1[&6:.[X#: M8I,*Z@/AY$4O/5^[GD8KACY.3/YN\!5-"@ A
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
M1""8L@4C2]@LZ&4A2594[\)3/+J4C6&&%WDGG)30N5)]:S+"C"C8'M[Z*FZ
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
M.BD\6+W-S.65^0G+9#K&"GWPM"7-&M=+%&.F*W?Y!.Y/@>G;6^UY'T5FPY%
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
M>WKOIW7O<<V:,I-:?]IOQF*Z;8\QBW,P7)5!%I_WQ#$C%H,W^.?H!&$"8%C
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
MXP0<+),_4U1EA(0)5C!QC*--W3DKAKL3\W%L_2@RY=O,'@6_AGP7?46I@44
MYQT'CM>#)&1^A>/<+NW2H30<+F+5A@33.>B>YUG%V>)#9:#)9Y942'*P>8E-
M=LLE R<##%!)1,K2K^>(96@HVL-(/0Y9ZC[B3)DL2L"@ _"5ZA092.]GHLS5
M@1[PM@+[[IBE=3 P2DX)@BZF0. "0WM T%;8+N3>A/=@+[NPQ[-!R'Z0JT%9
MHL=ONP^'I]V),BC?I3(]P"->V1JC7*LG+!(QM&-PS4&+@&&LX1.&!_Y>=GM8
M=PM6'KF$0G/_EO#X6.CB*=I&6@819TLF:K#\=G'8R@_K%FPPB8+I1CR&@MH?
M")B8^;Q3C(SW1- Q5I;D@^(E,0G5K0])@]W["AR\BUYQ=R.^ ^J2'91,M-FU
MF;49Q4G!:8:9]0F4%<7RW6YKG57_E"RK]&K@DCJ@V.1:VJ\1GE1NO7;D=G*2
M>H\>%+X<[J@&72X5Q"*Y8%<+B0.7+KA24.$5"1V";23CJ)W(:91".%=J__8:
M<O17>@O?=#WBK*QV=/S)"J4C88+9"-Y-OCI4Q#ZRE>8$ITGA-)<G.,T)3G."
MTYS@-!]QCQI)'>98$4\SQ?21^#,/T5=AC0^]A U;S%ZQW)H0[OF M NY%=NH
M?(3IC@IN02\#29$)_O_(-TN9'7D&OAV*IY+0Z5 V5<LSTF4CV12[&D4V-"6S
M]0]/T!F.:!:=4<H>X)1A3#/OEU=!R]SM5BJ]UA?/R0]'&.^R0$UPS@)IW*RX
M\YN<BA4V=J/X!DXO%USGRKI+4P9OG$/ &.DKHG,4*U+JPW!&!0=2A:G!%*V^
M)>5UB4Q@VQ1P/@I6D1XNC4^"34:5V;#]:J;!DX:\% )*)!FSR:LBJ"B6[V-,
MB8NI;7$PHCWGAA'&7!14Z-9J8J<)7^4<HN5PS4^A"+).O$OK'%1)8:LDRTYK
M2>2YFI)H;D20F_;GQ$['"FS=!3T0Y2#*_-E5'_.I&1 X#0V-PFU)<:0_@:""
MR+EL<Y*T#EG_8FP9LEHI<^2RHJYK3.0**56)!GB\SR"*4697131AK1:M2L-Q
M@[;,^]#>"^#@>2+\T2(O,]G1EA^C;>'B?U&80 FZ;KUSJ9LD?>6^N]@M2F$"
M0%EM/,36M4U]Z*QN2Y@^_((QX0PXBR0_451*AMIOKS )%YM/&?O588Q#]:/0
MD$&B*BX$1HB]B'V5=*5(@)>&,Y+D9597V391Q6,5*'3B L,RWPY233H6&WG,
MS!K_)+_)024F>5EE&F9K0!@F7F/[JMCQ06^2KNW,B;2A9<N;Q5KRB);(SGRQ
M@>UJ33FTON($^/3*D<'Q,#KILU=P@ZD1/^SC\[,F7F/<K"G$%"YK"(RB%3%G
MC+[)LZ&VZQ1=<]BQ<:TMKR+V*]7NTJWBL(U44 @" ER'<HO+M<',15E/4 IS
MT:6(4$WXM6HQ#,&;( ^0[+ETIXTZ@_0AA&10_3*]#BSKVESE5?'/7//[:#>X
M60I<*M@ZH4V:ZQ@[-4Q$2@:,;;<P)[4HC#/(#Q#]'(Y\F!S(V-ODDC3.DY!V
M;(S^0<<% 3N&"4;6(V-DF![=-#8*?4<X: >K2KY)?G@))GFCM)XVU:HIY5'U
MA;P]&A)^XS?UWO0PNH1$?W)C#T%)*4AHDJKY 6(I[DCTM3_5.G6"Y<I30A1S
M3+2/S6S#*;&::'"-)RB"F\TFJE:HJ#(6JZ > Y=S#/]B*(*TGC&1.&0/VBE1
MT,K)W88_[!:,*F)R3*D%WT$[G6'%?XK]I\CM/.&KYXLU^=XR/E&?$#=G?W5Q
M(GDY H'J9M 0^T=P=1"8EHUV)??*ZJ7OWE0;>_%#;R2L^N[;OWV7I=EOY97B
M0Q'C46=U+29VSF)F3BB[%VJ7^<Z*=QQ=)Y?/HK."[UF6B#48?(2]$>2>C!00
M,6'MS*P6UUEJ(LT2$W>W":K4_# (RWHRZ3I+SB#&&1LP.@RG;?:V+SI&YQ&&
M2AN"'+(A;[3@&R$V8+-5BC: 'TLH56Y1%7M,0[:8!P&PL^=-R>#=M_BAU>Y\
M]I_U3:#5)ZF9V+(;*WPLA6S2FW7@(@"%>[ )C+"0MOF"< S9F#GU@+I+=,>]
M+11=4CHW7 2@HZ =KGJ ]E&"X"Z'X8@%;M(H-5<R/4*<*Y'G_=O"NT,>C7/'
M*N^[R/M&FQ$Q"N+5[*/E&%'NN/E60EG/X3*4\*7^*T,#$(-O;R02.O&W5!Z1
M>/#>Y_\VP DE6Y-<1RPN#ROS$H-1OB=HHS^O1_C(U<".B3LN,9PJ1@REFL^&
M<.0."FZHB/0*Y O:!3)"BR:E?.=CJ[JM<^'1=A&"ZYGT']&H10V&VU@0J&%H
M;\40-H$Y"O>%G YM]\S#"08$UB/=O272$Q9SKINJ;-:S*9\MSK[+BSS3""JQ
M<F?3;C$\7<&'SZ(_S0J[3:H[B2E542]:T,=YNUA0Y'%+U&("04>,*QCU\,PW
MQQB>+_V1U#.0#H=G\JXRP/C<^$G7XY)<1;2&2\P>:.@EQ(AWVOEN#UEV<2 $
M959DVH0<F!:[[V^!^:?&;'_]USJ$QIQ>]V_([H@7^24V/"U0K];YRB5K6AJJ
M<P\&'K?SM/+S ^5SOLW4$RMK WXE^I.1F"0FWT>H>M_3EJF^FDRHX"V64OI1
MB#8=F[!DK]HWRA4MA.Y!N,6BC%;FBP'9[.7K3##!%/]$IN (R-M0^:5%GM:K
MO%F6XHCCV\$S"UZ77,6W=/!NT0>@<C=BZ9A=D\.,252-JC))JT:>91;8.W#T
MF6 *XF;]G&\Y,GLM:,*N=M?5J'.<=&T=RAEG#%[0#$JJ)OSRM;PT,=PP>A-]
M04QF+NKMKL%=D3%&$V\!O9>$^:]:48J8)EV>8W&IY):M[]&5""9%%=%E(K7H
MI)L[H37CT@?B=,C1CTN&@9<#3G,GM+L.DW!Q0"'ETH):EZ'TMQ]&RED;FRQ@
M^FB&8M4(# XA->79=8/%N8YPA/7^H>"+.10XARXJ(:V/A!^3!=P;2, B52B*
MUK<Q=)$9JJ7WC6M_M'PG"$\*X7E\@O"<(#PG",\)PO,1KA/1!<A]AG=SO%TR
MN5@G;TWJ *<;F-$=\E$DIRE$R1ABR<C8QZ3=U9DTO%!HIE*O=!5)1EX(\)S?
M@1>/2ZR+>\"5$Z3"H2OSII(18(!<FL(-(DRVTJ0?>4!*$DYI>\K3USMF0;!<
M?_*VXF00;6PS.1_1]3+81!9Y'I<0:3;"M1];#=U3Y[N]TY(C]Q#V"@Q]HT(U
M'B)S/69,4?-%)''\]9_'8A'15O [P#8,E W%>C8,8CC!0DRS=VS56(/!.:$2
MJ GG/HV5>T<.5K[E(WYZR*\X- AI?DR<$01$7;'GPSZ.T;S0NDE)L&CBEE'_
MT-RC9Y8,5F]&>'I@*[]\_4R]2M@SV&]4\>?B1D"B@I&;:F5SUYS"&\F$!+3W
M3GPT<OS=FV72!M9889YB@BS&M@@4.#.%V,QE_L2['40*N T:YL[78KZD_0-.
M5. IB&@W[\<S:::\9J*CZPN*;8_0,N5%];CZ#==4M60R!1U*?$[KBS)Q-J=!
MEK1=D:;&<B2VBSE]]-;8MY4):4/7E?(](IW'U:9S8VV&Y[.WN.YL*G;[/D49
M><5^9(=DO>O*RY.3$#9]6;65A^@K8AZ0UCE*3\Y=BH=+VEM$B^#3"*7&2[+A
M9DDV(DER?[)Q>;@SB$X"5N &PE!\(;J$U67':9B7\ODV238K^_-=L@NSUTU-
MX6)8^G%X?!8GIUDBRS=!4*S6!J6Z\<7JSRJ_<?<,D"#>D.ZJYK9 88V@9.&@
ME[ON4STO'\_[<K4J [P+"':P(H7P8I%F"B69F;7;XZR&@#I*6?#9)@'NV.U2
M+]YQE$W%I_N?^J,JVLE$H[)OG+Q;IOT?/5COT B,-*^PQG#46L1#*G3OK%#1
M6C>B5F@YLPN&0_[=B9I(\WSA44YC8A3/!N%,M%]Q+W,H(M^\XLRIR^.@([CG
M(6J\(Y\R39ABZK#*T+ O.;!5J>9.PFT_H (8_/)4B>-(NHO#3TG=#:$ XMR'
M@*,BE?,@A3T)L!J#KRE'/R%>,)R-)+T8"U!#N(JAHP;OYF:%LJ$9KR?68<9T
M/][@,[;<<31$7XRR7;I3F81@57 FE0!&(5^>%001(^GS1\]^-)]"YJ.=?5NT
M\#*MWD7/X=K;M079[.^M!O BZ0E]$\WZ*UM,^H4+<-?F];6FN%A_07[[#0Y6
MCHU^N.7.9P;H)><4OJ>WFY>*T'G/9E>AOFKR[5HD(TR=M7A_8.&TI$=6\N :
M2?OXH.=]O\R+B#_2VI#Z8[L(Q.,^EGHU)9LS36LG GIN5W!/8.QOYU775Q65
MT._5#CHC\[M>*AAW[,/7#ET( M.J!2=H%AA8<BQ'>=E#0AD=XJZ[!*N7PFG/
M9W^SIG,O1RJ@+VV!&/7.$UPEM,P,?L/-!CX][F!(J5*5&N9H\.U5J=PAA4-.
M?%X']SG,!&-GY@L,!ALM5H\O#CQ\PC8 ]_09_Z_9/,?#ZCS@3<@Q1EKU)5N*
M7=VCV LY:=2?&ML+2'?5"+LH^ >?4['ELMSCG6)8,+VGZJGAKH@Y-93UC73B
M.BX-(LG!H+AF$C1!\W"@B?:GXRH1?QU3$%=]L:1=*DNAP%$A=>!]FMVR9V^D
MP$!L=Y^-2R35X@&3F4(J% T79:F2(BT=3OH@>58(S^!& *D["ZK:'U%Q-1 *
MS!D8A47(<I/C6EI&1.H+_@SHSL\2D.Q@7-/M:SR<] #P 6$KK\?'H3J9\W#@
M5)CXTQV%:Z(@W:AR;5K/8@J((Y<9^ZQD-8V^R-2+XT25;QO0SGBT6A1 158F
MA,]QK'6VZ#N:B4C#*=UB/@2;%(U+C"C_V/WO^+O'7Z+^2^*/#KX_6^"5)J10
MMS(139,4/DCUHMML0NP(9#5*G0A*<'!Y3]LB4JBAZ*#05+8JA!(G<?I8*F\G
M7:83!#7@XC/I.-TA=MGNP6G?>O04??O<I7'5R24S@]@D)=YF2;8A :E7"(_W
M-.8'\2C8?)@3S%-P _[#>@H>[.'DD6MKXCE[6%3^O4XLTF"$PLMRVRPSRC;&
M:LNB=?1<[)Y&8@S"#]<%6JBX/-4R!G/+^J9"M3F7DDV5VXF9VS,53;ROCSWS
MW2"=1@5[N8!3"ALWSFV0$OB,WKC15B@UI0+A51G ZQI+S&68T .LM9]WL4O$
M?'V$SKGHQ.-_ATR?.YY$;3==UHB5EF[*:3%M2K\RC1%.EEOX->;$:8]@4K^'
MUT3VTBA F"0;.*E*;Q]%!FFECYD]1**A7BO=#5$6D3*<)D+'^5&'2S5=1.G#
MP3!1;G&'DTCHJB3XL2$ZL: .9]#$=)B$!!Z;O) RO8QW-0LEH6LR(A*?W33(
MAU+13IT\$70?RX?JU0H^V,\[!,K8AW-A2%'@*=,CP21$KQ;)NWBAD=*]V125
MN;](J7W#1P=-ZOCQDU0QO_;+*^[XHYN<["DE=+$(M%'PO#U[^M$1,ZM^&^U4
M#8GQK<,93HQFS-U?J&A!_PF3HN4"EZ ]>"5:-8_#BT(9EZD=K5XL^L8%B@9U
M,W=,P>VWWZHG2,F3$Z3D!"DY04I.D))/VG3Y0GF/7;%W6B^::YV#0 EM/S)U
M)#D@C%DK3$P_\,CHA;[GOLXG)(8W?N5ML>2F2"GJRC5KL^; ("ZN-^:$2>V3
M?/EK3_U:,F%Q+EOR8[#"R\7Q)1>"L1$S55OQ?)I^9.0U4 2C+/]30/^=[U$Q
M8@-=3)T72IDD@2'%C,J^X,OXFFVFYC6-#[5Q*4>'@(,K)#1)-PLXEC!KK:5/
MU9,AWX0<-DF:DV0.YLR[X+::]VN<(W.<;K&O)=R1W/+^]_@=6]UX24AB5])"
M. -(_<+B&E4H*9LZ:*-E E3";Q<Z';0/A6($4XGN^WLK)4F*R;+_L@B8W#+F
MJL^OQYIX(Z1'E\N-%+XIFU2.H)I:!5H5(&8Y"LUUCY8#2YBT' @A0V#,._#T
M!:]ELY74;II 76I<)?",1_I5MU2)\!<F=U5&9J@&['!'U)XLU1 R<))UGD?S
ME*2=Y\$U],]8#4Y[$.)6PO^:WDT-/ZX*-TB!2=5H-SOX"UJ[3CN?P-U?4Y'B
MNECVQA=%N#O8;?UV.H'EZ\H0/S8] KGP5^G;L% E[ FJ)D4I0#PB*1VXPB%K
MZI# 7&TV)AB=L,?C7FI4XNF,N=U=UHZ_7H%TL-Q+33[?VJ)UH"?+4?;.I(=G
M531P5Z$L,W[V\M'EHVQ:)4XJN&.Q.*WC;NIE*%V\.T$NXBR&-1AB636JS9FT
M%#%\N3R*EA TNQ<[)T2M+VW!M=9!W)-2]FVF^TJ4!=KVWOGL)^$^&Q]:W%-S
M4LQ!A3G+/+C>(JW=\AKCL'GW2,M%KC<L[W:(K\>BT8K-968ZFC>IG\3!L-LP
M$,_1R4G&K,>!+H<ANQGNY>$M\6DVV+T;]0^Z0;%LU11$2Z[-602X,SD S!5L
MFZ*-:FI,XT:D6M0GNK<UTQT$.EZYQUV;E^73FFT'&US0CM-EGDEYIOW5+J?&
M=._K<UN'X7_E58_@7+-)F^**A:[P;5_!&4.)D@/K05?,=V]>JU@[+@)_+>;\
MF<)#*!7@TL-UI@(R_99P*QW\4J97C=SC W9K&2?F5>N6X+=D I-.8GP?&*?M
M'\:M[9(=:!P=@QVSD'PRL4MH(GF4XM92N>>_ZH5/&C_?-Y7^VJ!M->X?WY"M
ML),!<E:(R1A6'G%X,OW]=DFD$NQVD'2IX(#%>TKFE=*@C2:E!TO0A)+YKD49
MA#<W!W6N5=_-C\@PK>A4\D>H3+ZE$1(;QBWOSYWU,,5CQ!W+V.FAMD_K@0;'
MC:#>5<#/B=C+%%Z-O*[]>RG=)XP];D32Q49L>+^D'D;$##)0]<_B1$T0 .!G
M>\X2)(7U:)SB,9.$=?3[1.?C65Q#:F^)H..XLSD1ST/.E1_##=2S VAGKIL#
MONT'<H]%,URB:7#@Y,)))<[98PUP)PTS0W+D2P3$,6C,A_W^A_^PN!NMS($6
M7^]V+\38X_/NVZ<[G8C;MOV\). J>^[CQO0$^&);.9L68?39LV=<YHAD<"Q&
MQMX"$_'<GFS[@Z$2/M7<>NLUTOAI>@0V<(<$&H2W>3//88^?O7I?@C/['%,:
M<([>OOK?D>GXVWJY//L>3MJ[V2\(2WO;-<@B\R;P90.?>D%]//#(UU'T5A\5
MOPU/W-1H4AE]VRL'BB\W&\$( U9IB-^]R'Q:KA1NPN3=Q+[A:OP?9+AZ2Y"U
M[T0.C@;RT_]Y^QU=$V-<Y?3\\C@3S.5&TY-'B=#X33TX2V;I)>\SJ<HT[GY!
M9YA4-*WP:RS#4N5V3%Y$\3"X83QIFXP@D\L<@J=%3_)/%JIT0BL>25C2)71C
M/93V8+E5B0=DW%CXKJ2[2BAE]KS!Q)!=%D4X;3K/7,LE6(1G(JL,/D13 .JU
M&>^!?2+#\Y>W \Q .2 I<K.YAZ5&,S.((T>]WVMQ$R;TY,63@U_NNWJCH$+Y
MUO!JM^PVNV6"<Y-!BD[7R'FYQ6?'TS+4=^2+S27!!;'C64&GO\-!&NX6O]5'
M% _!R]_!:X&IH6<Y*Q,-%?4')*; K!(>YRP%I4:41H1=VKGI%23-58%EC O&
MVWA,<KSW7!LEVM2DJ TME*.?]GD**(E#%5@:;[3EIJB(F80YPMD(W?\E]D&I
M :UW>##K5GB3(IG2Z/A/-.A\F'=G3:?1O;LU)S#M6$0T- &D[W\];LV_NYB.
M_-RT 3.@U!Y<J.L8V<1DX=ZK9;]==@$SBQXQTL@(N1OB"E)#0*IY:<?7U$/U
MQ&_A3WFLQDTN?E%)Y,1P=SRAA$F+D$]N: V)+8?%A"=MB=A],&G&2JD]&MH;
M??RDT&6U)?QWQ]F&CG3<X:^D",L''I/V3=X3<E,?J6F-JA:ZI=FZOF'3S%QW
M4O40'. RHQ*MK@#Q"\1ER%BD4_ ]V9 F7:LP\7?MWH@I>[MX-P%NW&\"][J(
M\Z6,32?VFP%4Z>D)JG2"*IV@2B>HTD?<Y52 <PR=93FPUBU=$R%!'UF,XJ\%
M-9O#"V!3M.XBE49NOJ"0Y1CO)N&AA6N$L:Q:B/:C$5BT]N$P !BO:WP LT<0
M9YZ3<=#\D@%VYP&!RW1-[M/J^D!?,'.M<\*85U-6GF7(%Q8^'O1-QM6E8UH_
ML1^UKD8=H.)W<<LI\>-%[ +Z:$)V3#\>O&^J*<C/KS&)8H,WU';T)G)3HN?U
M6K!3G]O+O.H'>B52AS#-(DL_X#G!& B-)6]P!((O"6*"B)0(-\%8I$W^-N^O
M!CMN2I*#X\<#=<[[WRJWABV1""!M36IAA$C>)>FVB!=A&VA!&J<ZJ$E3)\]I
M&>Q;()S;H(HME#-J0BP42;>LG3X3GG/:-7X;&/,5=Y8>V "RUADML&OIW<VN
M^[)2#2A'4L8M>P)R">_S16CFW O?,A D)C!<3_C4I$",LH+KLA:#S>P:*=&_
MI^6,0G!O<0UTDRK#ON?(I_!C'EP.;D:.+186!!6)K4!DZT7A0F:I;U.Z@MB)
M0GBL#36PAC;^@LXCY[4U][@HFD6_L2NHD9_GGK] /\,$6'3)R>QGR<';LPS^
MG8:OSC\2F76MXCIFN&?&7-<'SD72*$R%%>'ZJA)\RTCQ1M=,\D>J#D$XN+S!
M?F>EF>ZH>UAY3Y+VUP,MGXX,Y.@RRPB2XT%)3/>T\C/+#$Y=/L/09[&.U%EV
M_6(?-,DVR4=HZ/)Z?.(4.#3JX].CYC*.7MK))HG(QV%L.J?QZG=N5Z0<,H!*
MOUV'$AR4;XF&E[O\, ]("+DFX45&0F3A0*.,%%%ZZ;86<K/-F%\$H_YJOU6/
MKH9]8XO2CD:JTD>3Z"2L_!(5 ^1=?/<!1 K!%Y2:QN-NN:':. [L0P46F"*5
MV 2)&!U&<AN'A=;C^UTG6-(?#BSV@]*D ]0EUWFFN/A4&; +$8<A0$Z3]#M.
M)BU9^4$'\;U/XM%.@I;EW+Q$V.GPY:V*074;UA%U,\)GG)5AZ0)'6JJ@%-M8
MJWIO2'^U"PJ!W6"_YY:%)\#)K\LHK)C%NU6O7E^T<7TF(FOA<3 J$F3/A\MA
M63<1,TZ"4_J/JE4I]96HZX8[*897+"5+24O6MD^TVA TUK.X8]0:N=N.=+7\
M@W-^/OM9=$G&A?\X$+K:J5O6X["%"C*I,&&Y1A> :*AR4[I,:K:J-.PJ,U20
M$ QS+/F8V"?E3Q=<K&WUW?QPKNH<@FT5\*N9!^DL@6 []L0]Q1$*A[M"C#!O
M9"JWVL[!Q+U)FJX(4[OOJ-^VVU5H=Y',#>6-,;Q>[NL%2BLHCJ##O)E$GI,O
M.@J)6S O(0H@$SQK)'9*%_.5;\Z/+YSXKWH2M/&V9TTF?.!5]-*YSN<ZDLP\
M)+J.NO^D>K<NMBTMSZ@'!]8<1833&:/0/:D3=NMT>U!3M/2B1V4O5T&VRBX!
M9H7FU -BG9()_@?G[#=SBB\HJT.GGMU@W@\LT>WGD^[_Z$5GJJ=*>\PL"U*&
M%/0G1[,K/0S,]R1&=@GG:M'I=D\^2M-%[C:2&0\F-@*#DRUJ2I)CYU^J^ZNR
MIT0-FRZF3A[1S_&JUUY_6T*6F(RA3I!:54Q;\)&K*T(UC(8Y8A/P>S6J=5LS
MA5>\=/5+_AW?^''KMA<-<9O7@<3>JQ1%9>6\A#4+4>H3+X5_'HU UY_G6W(+
M7B[4ZU 2"ZX[VLF!NG?WX0,R.,HQT+I"I04)KILO(1ATC4B]%LH,R1B?J$@D
MHA8T'QOMUFV_8*30$NAECE7$?.^V<['D_4_^\;Z;FS_QK[)AR&(X)&\*-0 A
M<VP%5<ND:$POIX.MB(K,<HX:7!X/LJWW; "9X@_:!\9B<8][8?8_?80'.\9"
M>#R$&A*/QQY?26OP'6+#&68)$IKB)/-X+%5&&M=I45>Y1-)6.QF=W.:)!"J9
M,E(0EMW#"?LN5)%?Q-Y4C#G[#MF8C](INV&%>TWD)G"2/5;0KU#**)GN!FRL
M6"I=O*LE-(-=2!^EY4,7WR74XCA7.:DONN'6#>/$MJ&9'O9Q[%$ZZS&8GF@R
MI4P<[JDAG>>J>$^].\XMM4RVO,<S7IK)S)0"*^4SL?'9,X#JIYY-D/V@RS#F
MM7FFA$3<(8YL/31DI0E?#8Z!&@C6J!OFV,"EKY=,%8@SQR>,V,'NW\9^P 6W
MCQ4T*J5[<O]4ITF-LML^;AIC_YHT,0H6=,N(8&E=H5Y%XPZE942F5M[)G<H)
MW/_4'MW63"Z?[U9@S_B6^=S%^,>9%HV&#JF$R?_$_&D3O!S;R]>4><Q(&2)<
M"700GB8*#330 >$974K:LIMY=K3HTU)[2Z%N^ G9DR)[OC@A>T[(GA.RYX3L
M^8CK1)Q(%<Y)POBDV35*(L9V2,W+[;G8SQG]*I<#.N0P=:SL4DIQBYLYI6LG
M-OW0YU$*$E,?\*V 9 Z19%(:[?5VGY $DOQ7FV\D!]1)>9QEG9+LM\9U#A6/
MOO%2=8^B\Y'^W0>$XES@,>8?BM-EWJVQ(BP)!P07R))ALZIO1.Q"7#>^YB:D
MB5JI-DHV$V*U [^*, ICP<Y1XL;1K.J4UA.O$.=GF,(R$:@6UK3,?:*6O\14
MT+RTXN/Z9U!"<7D-7HCV6*O$_?*AN+NW]L_)%DG@"HQY:RQPGF2@5VPV_&,/
MT5,#O[M,'H.>&#<#SP3OS*MS/OL><_'O<XP\4_$!5W+6XR40%A2&U0W)%6WM
M-_7_@D,B8B9AF>&MV5=P+CGYYFA X(!W7A-X "([N+]&P@$4K%)^M1K(AVB.
MG:'GV3!*__?:QZ(V2WO*SL8$/I2%=HSI!'))PN-:TK,,&#,0@4PCQ<4$)J M
MCF]$*=<KTCYKXI3L)M9$1.G'+"V19$48AIIW%O*G$^X6Y#5<5 OM<TCV5;*!
ML%8>%XK+>6@JSF<_F+A4"OB*)B"I93&P@W $JF 62Q$\$<UF*)6<Z:E(VNLU
M2DL,4);L&Q^#M-K2@.2O01GPF"*72C5P>((4(@=WQ/W;E$]0IZ_GTN@8S84K
M-)DF'W8$A@E./:G+,7&#E7"R@[>*%NIC.Y,>WG'"YT&+R=]FTB<EI,>SNW0X
MM<1:'3'327'7<<Z0;0E)'<6=DHD%EB&$=JBZ1.DU18,E'3E#,,Q0JYJZWI$I
M>[&N:Z8Q9"\),Z#VP\*1E&FIMJ_<+ZC"-<GGH&_#Y!^U*%8G@N!:WI-B.:=B
MB\JE-V2ONXEPN]X&A->$3>#$6/BM\94EK^C00=2GZ:"M4N%4'Z4*T75)I1?C
MR4D0=ETB!W9<I]_@5I_2K$"'^*JV:\"TP3"WJ%M,7;($G6"?I!.KG\#?F,.]
MBU(D0\@IMQPR&UHF<\6VGR4NW%XD8;V;$#/,@U2GH5&$D0:>S"JL>G_(!4_:
MG%U]IF6]P7R[TH2]CID92M/B#9@PW RJB J8V6,T9;J%ZH0ST/ ?VQYK)U3V
M=?>2:Y$7.?857:Q.^C:]0<W;4_$3=9T)EBB2[VM7GJ=S$8<<="P)Q^E=MM>]
MV]T/R!RKV[(-6)D@MBA+_%M8A$;*-ZHH<WV2(!5+B)/YL K&1]Q&1ITW.0^D
MUIKZO&A"Q<H+6'SRFV8[R5_EJR@(+@;VJVN!A[EN-"#NR#TM"'& \G"T44GY
MUYX70U]8CZ[I&;",!+!5%1HO^B++EZI8.$9%<KW1PUWL6]N1*"XC37 \=.(<
M''ANM\S2V/GEF^8CVN2XWEVO3SL0'/94&1879WC-5"RAF_$8P[O1G>WO7(RM
MB?+)B[%%$Y% H*BT=Z81VLA(8KB/.''%XJ^Y<C3%5$P:7V25W .9Q$D9-2+P
M+"PG>MP=HO98>+>_&<?":_=_'N]HI7[,%TUM BWX4B]%U7Q&K4:?V_L\%VKF
M0SJB5Z'>UJ4X"Z[SKA;DEIU>+^/"*";G6<LON @C(8O6FO" )/H8=JQ]')BF
MHG+_N^R@U2=,K$R/M"FR,^/=JJ*UD JM]/[U\KPJ1Z\<N??R3$ISD%7%>C=8
MBUW(&U:]7+ :ZQRUUM&:#$>!0I%U_4Y)@X:QH&=NM[#3C0+%UM@,G\_2@W83
M\G<6I/:5--]TN]M;&AVG[6#;.&)T]+07>?3CL[$@L5FLV=_&DYKQ!839G>JJ
M%N*>%9S #EN/NAN\9G&^_EY1*OQM9T2++]:P>3,4RX2Q\WU+:0_\A<5.B7$R
M=Y0<>I&;;^EW!(?"/ZWY<QCZ\[;(I7UVRN7?)_JKK_-S7MSDE1^IINYQQRR;
M_(:'X5[NOV$,2[CQ-%2=?==CX1V> A_ 1!-M#C[-["BX=Y,-16!.0ZQ38BU9
M=5S>>&#0UPNT82/_$;D!%'W@[3_*8G'R>3J1!3^'-5]K!IR>(]I;]?40GXOP
ML/3J'4!G4(NPUI*$4ZZFZ?7 3OPCU55NV1OL_LEL1$7=;E(62_T$%97#B6W7
M==/E(IAF\!\.>+DN[XS&#2&.A(J3,_A*N7E82!I.-!PR)L%"?"BIALWSQ3L(
M;"2ZEJ+"D%85V1<1YIT+'^6JR=')Y/RO@)_R9!>U/5*_B\<CPW(0<T3;M-06
MZ)L:DW%'9FO4.%#9SIHRMVW@O7%8?/NPZ<UOO7:E$U$(7;F*PI"[)1D8GUXU
M=DW/D;KW; N=B@?RLY/)\'IM$#05;B4!@R.YVE&S.;/9B 0O=S?6C6Y]SDY%
M,<!I9:M]ZA^:8SR6X?J@+L0).O+E"3IR@HZ<H",GZ,@G#1I_8=%U%2.)N?.Z
M\LF>B8:MO0E,3VG&"<R'';/]'.E71G<8A&JNUT"*"B9-+11O?L[(52;9% /E
M2#,HUF!<OU,L7#.X8P(4FO3.B!X.9W)&2KT'%'D'3Z$2? J)3^HA$F%83F_V
MS=O7OF=GQ!#L)'H'Z>U"TRE61WC&3^/Z3;70351;^_G^.LVSX7MAA$CT<86*
M?*;-KP/$BS8XQAK*G$ #B)^-L7EF%8ILT(NI0@#L],FT/TNB@X1 O9,>50.&
M2Q/E> +!_:(762BFO'9X86S4I8E7]TTK#D>5*A_VP?O1Z6=IXR'6BF)+W[#G
MKN2.NYA\7!=(S43Y7 5M5 @@2W@PYDV=+UW?!6FK9:PJ%3UGV@\:OGB,M3[8
M[%H626 R!CME@T52NF/K[80S(G(SM..1FB<0/Z/ZH:+]L^"V8ROV29,*L2PW
MN\'1$-(5CAKI)>>2#,&=$QM@Y>1BE$27ZU6M,@X^A)1_HL1_34 WQO>U$HJ#
M-:B4I 95D%GJ&/G!<-!MS/J3DTSI -*I9F XM1':\9'Z)$1)4SV>-#K^H!6>
M*2F$D]&$M;2')B:K8LG<1*MJG<LL,L!FW"AJ]7(^@B*GC+VAP7(>A6LXC=AV
M&/Z:RR%DCN$\Z+\->3QTT_D$(')@F)F9A\@"EI80;R)&;03=LP[U/,F(N-YT
MC-^497S5X]4!K\?R8&J>B4.'MX_D!R66JRLS5VC4%FAR)3R'^PQ;DL_ >I!&
M6EKDH7VY+E:(S+JARC%8.FQ]-DR4S+HH0>',R?8,B(6+VNH.9XAU5JU?^SYH
M3[""JMHI&HP.YFRQ6]#YY#D>1KP\#YQH&5U#2O^D;][I*<.@GPM+1O=F+5UZ
MN^QO'B:J(UI"OW!4^.FE5:L)<\HJ(N4,U9=FHA7H>I,CM"BB#,1+(Q*YUF$J
M7*-&!"=$1%++69%!HK0CW!X>9!:6E#+^"EQ+?F^GCD>+(DF$$>XL+LEP^C-C
M#> 'FX+D<!6C_^$K3KRU(RA6OV6X! &NJG5F*H')>M=G[M]^0'W>G+."VDM)
M+88!A_,=J[4ZL,^"E3^%?;Y2W3FEHICT*NDF<-)#S!E)+I'*\*$S.&+OX 5Q
MZF ,4?D<0,4?-*_:VVNS@L@_NCI@>K Q68L!8W>:#P#.H,@A6-MK.^I[]2YB
M*[(6+$OA=2TV;(/X(FQ[_%!57W,U;Q+[I2@DA1@Z GX<_A@:):0,^-/&DG.
M/5^AZP?H^09 8<HI6O%&2#QCL,;JGMK'ZMUWYU.Y*$%2IL(>BE/J_DUD&<AR
MXYTL(L=[-[@\S;+;BRD#JK9=2OF6.&93*#<*K:W=4-X=S&;O0MB"XZ5\YE.;
MSBLL3X4J8:ED08ZYPW9BB@OC D6R.W#T!D&4-47U*:6NF?@U4<PERIRXAZ*O
M)B4 =&E63;YQ6Y 7-AO8YF,T%!^T --!2_,MK]\H$"2J.":=XJTF'>VQXC;
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
MJ6D1D_:H<$?RK^SLQYX!L2[4-$#+C)B%I)TE20AX\6O#XJ6*D4:$G%2Z1Z0
M@KI,(!L#$)(X=W*?)9@&ZCP=L1"H=<0SVC?5"+3@[H\1M8NXW[Y)X6??"&#A
M+O-VV8^[J1R$-)2\EY9"/ >)1\,N]I3)/2*3E4+=Q@Z4G$R3G]:_,SV<#<@=
MS*E"[^(N4<!A+XQ[101[Y/..G\WY>J42@,*#E+I-@PZYE&DF:8JC-5;>Q^BA
M[1,C3*XL,L9)F*?.V#E5G_C.2WY0@3TX5.L"()=)TVF6]<7,"5IQ2:4M\J8Q
M,9:7KUXD\>&:H/!PXFBWJ=>:-\;@&9D[>!?=RM!D)CT)4&(_3XIA3^)D2UV:
M4)L_W/>_K^Z8E_^;9<;.*!%8-PS'XMP8OC 1 JW"DH!U+I'6KOL.,QUZ=.6$
M#M+I\WZ7)/,M?3_$$DV5<<84H_<^O;=Q:1)7).PP_Y**&,29E 3U2W<47ME;
MOM"V>W)$X!C8(P1ARF::0YTV=6KB\Z+R;-LI1AO!R;G\)]^MV/.C&'E=7;IG
MZ4-H4XIEH4V[W\L'8(";OC)Y"_S/HFVYG:69??_BA:1.B?J>&<=HA06B8ZEO
M;O=?1VRCQB3TFY82:(-](VE_0P-AA;WD=B(F4IPX%<R-W33XARNWV_F"P)BC
MSJLD'7Q%_9TQ.'W3X[N?0#HI2.?K$TCG!-(Y@71.()V/N##_WG&4_58@_VB*
M^3)0&XQE2<I%C!$"=#4=9]3C$QWILE[+KI:D%C_6OXB_$F,1B'S@5H.@?^&(
M4+P:CN?3<%@=IJDA7CP!&TAM5EE2N(3D9. 3?E+T6:5D.<CW$/\E^F;.)V-V
M!'HWZ03%E-I5T0J*B+BP*8Z<>)=DV"NJ10]KRCR;TK& PJ3!? <;Y(MXQW>1
M)+Q)4%06*K3QL;[HEQ!O8@#IWI'[W3TBRUJ37<?JJEZ0&EA\T^3UA'2<R2X5
M&*6(XB:<Y:A8WRH_!1-4<U=YC)VTDNR)X8=TQ"Z-1!T_\K+I8#3A93G 8UUN
M<8?P31QBA=P?(FEA1T^.#:D $,V"#CR=_R0-LQ^.Q:Y9WT[E#Y*$"O+ICDN\
M)LFZ#OEUP<(G>M;Y],N&;[WND*@V^ZF &*,O^S8.7\\NS@9XH@(: 2?U^?=\
M6%X\?_/=V]GS1:>T"]PCR(0B[.-]6US17+VR%]F!?XFZ9B^2Q!9,8X===3$]
MR=W%.SL65-*/$XW&B-&$&9<$I^6(#ZYYW7CH2'+JJ9H=JY_1D<9S%\=Q4]"\
MPM,FR26D'&),H2DM]FV:RS$O?>]!V@?'P/1*;R(XX+/D5X_MB:P9MFV*ZWRQ
M2[9)$K(G.3+IFR#)A(3^;1D5W>]_A0]Z%8/U=& /D2M3081I?NR\J7LI2=_4
MC9Z+0OFMI$C&^B"4!A..9?M$9-^AIA(4UNY(LP7S7OE-ZT<EJT$TYV[%5+=2
MM8I$+B/V5CJ9R7B5#KX\_6.D:$Y-2G;+,M9%R""DXLL9AAJB>^HKL_*;I,F]
M@H>-9TJ$H\"9I@1 2_J8)M L@X4-R$B]D7/S-_;49M_B!U_'MWIC+T/V[6_?
MOGZ3>2Z&*0)P^-QW?\]$"Z2-F-]E;PW(R95,.13'@L@-_*3K;?AOK><BX@AL
M(X'%^*U@0;[[.YK)8LF-V,]+;!^Z6A/A!-<1,67#LE?,5*89;X=DJ3UDEG<K
MO@3V9PHN:=$WLS'1N)?Z< *(^U37Q%'[[N\33>TXN7'6''X'[O"\-#VR"C:P
M^4CX^OU6'ZOU:_@C7,F/OWCR[/+1# Y]*?0&3_Y,E3M5(;!KFX[>#4+2Q+MX
M)EWOTG:-]Q?\[)G[7=I:-NHAO9.K*DQ?<,?R/P]+==CA]5]YU6/#)-?AR=M
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
MY#_$2Y6W.,(0,5YAUG)SB$YD4DC )%WH[!"AAJ+7,RXH@JQ-,,:Y2PAR8@D
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
M ^%&@05A.$X>">,<B!#B@OG,F%,#(%^0Z 1Y&OKJ)DI&PGB"@LD/0(>Y&J=
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
MF@#EZ*Y5J3489#HSP3&?D.)MVJ#?B6P3'KF_.H]VT59#$JV.N"\;YUZ^9,<
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
M@&9<HU$/E#=I@+([]"'YS7WR<L]*W]#/+C\OOP1\[6\__1]02P,$%     @
M(H!:4]N/Q+#P0@  /.H" !4   !C86QX+3(P,C$Q,# R7V1E9BYX;6SMO5EW
M6[F2)OI>OR([^[7C).;AK#K52QXRR_=ZR&O[5'8]<6$(6*RD2!=).>W^]3=
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
M.MWOVK[K^-.Q<0[$H^1S#+$X*)Y0*A,<^)P2%*EBU"H55MH&^OOFSWW'[4=
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
M+@6ORH-[.44MF,^0A(V@2A+@:JZ/529I%-[F[#9R()I#?3*4/D++MVIZ>I>
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
MY&AL=HGIM1=_SS;=28E=W\;TII_S %^&R;1NII7*LP7%HN,!*<Y(:"E*5*&
MSQ1Q&!UCC4**9'RC$;GV%=^S$3M47H?;U57.DTD__!Y2O_33'$R@\#!(H:!H
M5SU_I<$YB@%$T!$=B]SG3>K\-AJDM][^/1MY=W4>P[;RXM.Z!30-P_RZ'V)_
M4"]:;KC1?.]+FV\];R?VTF:TE"KSDB/J(I15SB<GN-*2"Q/IAW+_9O2]KV^\
M/2U94?7.5A"N'GZD0"R5T4$6&4DRYZUHDO_;>GMZU2[G3,=O<=J3QCJ3HH2@
M%3FUWCD2.GM@S$;+HI4N->FU?1>H(]QPWH8;R_N(G>F_^\R>"V!_+0/[?=P?
MC2_ZI+T=76L3U4--7E<PEKSF0"&Q2N1WJ6" )Q.,0Q8P;%;"MO6K'PDG]J#W
M[A/\UM"W'AVG*>:/HV?XK#\88'Z/5;.Y-N#[3PSC16MKG3%9C!HXJW<R*9Z)
M[8+\BD"+OQ-9>DQ;L>;!4!XCB_9CEP;Y1*L$N%SSGY^/QQ5C5E(3& V%%PK;
MO7(04I% Z'02@A=3FJ06;P+ND;"IF3T:9!7=B?'M:)CF,&.)7"BN 7-B%Y=B
M.:<LZ2$4FXNB&+-)'MJ&^)X2<QYHE0:7KMX)L^>--C&& HYI"E(CL^!U+."%
M$LH;H9R5>Z?,4R+*5A9H<#'IG>#F:KCFDT6#)3$IB<PA7#2\C)QF0B8*1T'1
MKW1-BNVV@_F4"+2;C1K<!GIG=H$TQD7MR)-GD;#5.TN]LO7"%YUED9[ETF2^
M^2[R=G;A2&=:/W3>SJ5 6) 6T#P7Y%KIZF7S/A58<2%QB+/NNUXK\%@$<"TS
M_1^SPFUR=K\]F>Z%=I29/5NQ8)E>W5JC037/W0@7N_L;8&Q9X;L)R,,4^G9M
MX*WXLX-U#L4DZ87$%#BP5!OT258;AZ8,EL?D T<F?),0_7 ,NJ<(^!@(M(U1
MNMXQG!>OG@SS4I5CM#EXDPP$'G6]<T-!""I"06FB#8(A+IVPK-D(7/>& WB[
MG1MCU+4FNSXV>#D_^/LC5&&GWQ:04*OL,$-Q2) 0/03/.3B#/D6?%..;Y2.M
M?OYC,VT'6EP[;O=X5/X[CLMH?!:&"=_%0?_"VYJT/">_^XW-#\FW$/C6"3E7
M)0C'96%D8XH^B]+2D/32,)O%_2?D=[^[DR*FBZ."BRO ;K_K\FBA?T9?>5<^
MT*>30C@OE#P/WER,@MEZG,DMC0FM',22- C,N83H-(5S#6N;.A"AHXJPNY',
MCV'")^PIR9UUI@ &9D$%%\"I* %33:DH4CEV.(U=X=S_''P@5JZI&6MBSP;U
M8CMK[>(,FO>D2R8JZR&G).O^&:?5R"&(@%EJI[Q,32HVNQ+@!V'WR8 & >C.
M<ESL]WAE+.,NDEN6$12)!-ZCA1R-)K_-%,::;(]U W]?N[*/A;O;V_Q8=GIW
M%OW#-(RG]5+LBPJFDA@/0@ ODH*)1-(':R@X"5E8*[V/;:XKZ5:,0^T@'X*'
M70^%A_/AZ(/+'M]_>-GC!PXPEX5>"C&98[GN S'K.(68SHEL;$#.3" *HMHQ
MQ*2W_P@R?P29/X+,'T'FCR#S1Y#Y(\C\$63^"#(/%&3NMQRRKCGCF4[>]R=_
M-BZ#7/VR?90_;B#FDL>M4NVF*:6AZ4LEGSSJ8"2/P@HN-6,;E3VN?NW.V:PW
M'WLU;I2)!#0;,('3N,DU^8#3G)NM324R56RSS-4UD#I(W;WYY"LWB?<B>47H
M4P94K!ZI1DY^DO20'$5+2EJ#&W5<V%W<:Z#V[S-TQ(<5";G=:+Z!AWH+V\6<
M[;@3J;:#PV1K'Y<LR-NH??@%<[+ZSB8V:;VX&LZ^UMU]V7]['1]Z\[7V+'@3
M_FLTOIR2+ZZI#%9QF0I8%F8YH@R"31:"8(F+5'*2FU1&;]0#XO;K#[7IV84]
M1YWIM>-&//5*RG?E!J;%C;$;@.JZ!]Y:-/OO@;>KF4:M=+PW DAF13%10I&\
M@%*U- W)D2\I)N]%],YM<L'!,1K^CN9W>['[-JKM.A7UW1 7:!8W;5@7ZXVS
MX&JIL[(Q@[?10$X^\E#JG^R^(&;UH_?;MZ<C?8\Z4U;7:::OSXG!'S&=#D>#
MT:<^3EX-%_V$BK;%,W(I36:AW@M?("#2&-,R(2JG@\H;V7#].[Y[8W:DO@;;
M;;=<C&??+O/BD?%ZDXD$X6<[@<:0N/4" BM"-B$P*9J<6-^!Z1%X8EUKODTS
MB"5IKW*L-X'6LE3I#FR'J5#JS([W!G.[&6$?D\<UB,P((QAJR$[0O!9=[=6K
M-.@0I2C<Q1);5?#OEQ_WU!\=@A[;Z+X%+>:KYBV(B[(**1BO5^<PYVD9U<%
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
MC)\=F])K#DNM+"B6!M+L/EL8H:!X4&!N<X3-6U>LE/3.#&H!W,VIOQ3$D3*
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
M9B]7GAW+Y7S.5M6A<KE]\SQ&=ED&-P+M&=JA8W05IO7&S"ALNTI7*E?;M/*
MMM2Z/U+T@*A/UG,1.RJM>>"PSUL^EU[@$C:I=9G*/QN;ZEZJ@1*$Z53!B"08
M8JP0I'&DH)8\H%RQ.$R3#J[>46'3HZ'*J9@O%_?0%LN"^4;M#C[=<80]?+6+
M41O%!]O2TOA<:SU[=K1:L>C=@3HN;7S'J-7JHPY/^Q7=^.)='6FJ_"?C-E73
MN(T3-8L,.R M$ZAB&4(<,F8\&4V@C.- "HR%(%Y9_Z=%32T0W6@*"K._8*66
M?AS1@JH;1_2#U< <L8:IWIS9W5BE9[E!ZX\ESJ/1)TNT2!N5)<Y;O<\2#E=T
MW>[D9E/U17U3B^=-:(*@@),X)C#$(8(XDABRP#8Y$S%/,:*84.\-SA$YT_,E
MK)HV_+"J%/VS[Z;E&)BNVY0+ 1I\8U(A4VLX2'"F%8-^=Q['!(V\UVBQ]7!W
MT?;ACF,NY'\^YT59GW.WO)8RL]D0;&YKLCXNWK*GK&#S<M_"]S,ZO]@!>7E6
MJ*]J]2T3JHK'?%%B>;\H[U(=E29A&*:8!Y 2$4,L@\3L2E(,XX@(E28\2-TZ
MPXZE\-1\E7(S66=OBRUK/,=O#+W,;O0VI<4;F"FO;S^^=1A@V,0O;4<F4++K
MEDT]3@\9"?A>YY ,K?.X$TU&6H&#V2ACR>WV_GFOM1+FK?;^NWBP3\47.\EM
M<20SZXLR[[M,%$K6PQ1V?['UR5FLA40Q9A!K9;Q5+F-(K?.:)%Q@%!F7%GOZ
MK0-H.3VOMS+2>G>J-A.L;!.DZN<<+!= -%-(RA_4QAJ_M]$0B^[V GKEA1SX
MG;-9P<8^\*4<2;D I])0-V9M1LSL_^Z]PSI[OY$&7(D^7T)#J#GJ>V= G/=?
M-4.*ZO9V^;@P>R7S/7PIXYV2(6&X'U(5<(A3LR=AA""88$4YBB4B./![+6S?
M?GI\OM;.CYQW,$M5C!*[9PLQ-I@IFD(>AAAJA442)A+S1/ED$79%;+P$PJP'
MU-S>15VQ&/@ELE:KYR#O,7/[9.J=^X]*L<<LV^?&HY_I1FI_4[:YM)+7AD;8
MO=JME[W9I,2_87DFUO%'3FA(@H1"&A/C% <)@ESJQ#[).,0H277,_-BODQ[3
MH\EW:K$L>QLN5YZ!WFX+X48.@X,[,(LT^H/:@,,6 UM&7('2C$&BR1<!V2<_
M=5-D5"*["*M]QKOL9ETJ;9>+\AY_RXJ'IH=->4!FL[&M;WFW?*/>9/.Y,O[F
M(\L6TNIC6U+=*O.M7QAO1^(P1$$$18*D\1#C&'*...0J1:&2*$A3IT92_:@S
MM4AT8Q#XPU@$1&W2576 ?E766Y1[QJJK&R\M ZO&-/ODOQCCKFPRH&A+,AEB
M9=M)=_SU&OR8KEXJ:PQXNUZJNAU$8Y'M8OU&@<HHL+;*-K7^CW*I;E]AJ7P*
M@\=<LK'JA4=:.L]JXKZ0;B\ROEC*B+7'?2&R6Y+<VUV[[2T^L&Q5AO5_42Q_
M7I6'5!]6ZN_/:B%>WBVMQ%D2D2 .S0M2<YL6DD:V>TX:01Q&.@R34! F?4YT
M'61.[56XI2E8JPI^JY3UG'#N KG;GJ%G( =^1W7$T'L#X(%*G^Z^B]A1G7L/
M'/9=>9]+.[:LSA:J&;SW@8FR;VS9H502HA*4$A@GL8!8A89L AE#Q.,P"C@.
M&$F]6E.?$#0UAOFDRM?Y9_,1KT:O9P%UHY(^8!J8/SP0\N\<?<;\7CM$GY(U
M;B?H,Q8?='P^]_FNB:@+Z\6LJ@2$+/^]=FO8O0IG"B&<6 ;0DAHNP(GA@C#@
M,&548<02K27SX8(V85/C@QU=RS%NZXVT4=<W0;4%9#=^Z NZX??!6ZA]*5&[
M/8]:AY35\W#TF[G:(F_D!-;SEA_FL3I<TR$ ^'%AGD25%]<+6=;35&GR=2^&
MS\O%NC?(3*F$*9Y@B)0]#$$I@R1% NJ 1T&8)C11D7.G/6>Q4SWPK-2O.BJ5
M96%UZY0KL&@Y +P$?X=PW""H#GYT6D-IF[M5%79-7X-:\1_+,KNU[H. ZQ%
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
M]LW.*FLF7Z6I#&6<2IA$J888!0FD$A-(0IGH.$VT"H,F3]B-3[SD.STFN]G
M W/,6OURIJ"L#;!]2$H+/)N/>*V%&^GTC^]H34E*'<%&R2NPBW8=(/ZTS(>8
M5-8)N%X;EG@I,&[SDB[8'#0RZ723S@VIEX^/RT7I<U5S&+>&W\Q$$$A&K'^$
M&8+8,IH]NH*AB&/!TA13[G3@[29N:GY2TY"Y5+G:"5PU,U.WU/;N7-V&>#MY
M]8_CT/NH"R'LTN+: 9G+^UVW"1F[^;6#P4<Z8;M<U>NVJ^Z:$S)&0I%RXRK9
MC'T6"4@3*F$:1$&,@BA2V&M,8JNTJ5%*RR:B4S^C=J@OVGY-KN/0!=CUM04;
MKHU0N\ I;,/:&_VX7=3Q#)SE#W5LT6RG4)*:W156S/S'N">0X3B$1" 9A&F
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
M1,XIM_\67 T?9G6[(5/C[]HB=R!5U@$*7VJCP-R Y0K^_?[^0Y.N ZP>J^^
M)O^C8AVQ6OUIEV9E\VMF?VT?LJE#&%RGI?IYGNV5?O6P#!J9->ZG9I2CA9M"
M89K/W(-I@V(:2,!;XQT# RPPP"+S%_EXC1&!->['[*\3>37*QVVDB*MX8SQ,
MI%4$_?X"$5;Q1B%.9%5$??HMK]_P^;IJ'_=J7LK%JGQV@5YA_>&['C&AUY]3
ML^ESN*?H(-WB?1")N:CJE#?JHLG'\N-%D=<]_3[=;Y=R[<I0O-+UU[?+5TT+
MQ2:1988SC@I*$TB-Z^*32049SA745!2YRG#"0Z-QKLJ<7F!.JR!8UQJ&;?Q<
M!]F/1Z("-S"9M+J"WUIM_^82;[= ?KP"9#"E>(,3DU>N"QV57+PQ.&88_QO[
M=HY?NN#F=?76_S@O_WSQ\X5>RJ^/?/WG_8]Y.</42(JX@87)),0ZXY#EA6OW
M7!B6YLP8GH;L0U\3.+6]B@-]@5,8;/6U;V"K<>!F\U7$_2@G)HY#;QK? &&/
M!O)^N,3M(G]%YLBMY/T0..TG[WE?7Z8I-P_F[ZN5JD[<]/K;7.KRDUT-S*0J
M>*&U@4E.<X@ESZ'(-8:4Y CER' ALC!/YK*PZ;DP3E>WC=G+@^E U9='8B U
M.(/4$%5JUC$@C:+ :1J3/:ZA$9<W+DH;F3&N67W*%5?OZ,<2]]_X?.%"ZMZL
MUI_X0G_2\GD]W\QU^4J+S>ZGF4XH)YIHJ'-D_1):8,@8SNP_BJ<:IU@4-(PS
M?$5/CT%^MPRMZ\I=Y5;-,![QQMV/58; <F".<8J!G69W8&L#-*LU+*T5\7@F
M%)^8K.,M>U0."D7DF)&"[^\9J]Y6 76'W)N?;L]TM70GW97KSIA)DX09J''A
M6K7+#-(\%9 D6!-A:$*(5]2FE[2IK91J'<%.R5[+HVZ _=@G&FP#4TXP8N$A
MY#Y(1 T8[Q0X;GBXC^TGP>!>-_4N['NFN%G;D75&$6-IGA.8VQ40Q!HGD&6N
M;2/C+"^H453*MJ?SYZ RMAU2O6;#83/GSR-PR3\V\\7\7]N26O;1UL4,+][:
M!;<?E41 ;Z00B;9P8M60V=6C5OIR%<4[T&XH NO<M(?7EWW&/M5=/7"+7/&U
M2^+856 ]K#]3&=;GKK[G24V^^)OY<EY^U:I:O+W7FRKMQ<VN<I9@9+*$4U@0
MY-KJ)#GDQJVNF*!8,T(H"5Q3>4B=WG*JU15\<<J&GBA=A]GW3"DJ=(.?*FTK
M2VSAJQ2^ Z[\=%46L58ZYL&2-T)QCY:NBQWY<,D;A]/C)?];PWBG7&]FO]N'
M/CX_-H'R%!68D41 S5R/FCQ7D.,\A482G)B<:4&IS^+HY,E36P@UROD1QRE.
MW?1PD_4#DT"C5\2.>A>M[9C0]IZ]R6Q_.I[(IP\=9;I>M*6=E)<O&**QU"RC
MJ5U:Z (RG&&(C:L*KS""A@O%,I[ED@;UR^@6-[5)NFL?M'#J!K[FKT!+4\+R
M# O(&!>NW[:!+&$<)CDOD$DRP;$(<Z3B@3N.#U4YK]8'6#2:SG4)()!-T:FG
MINF$=0M60XZ#GZ<5#]N!^=6CY=58_:N&<*RN2)Q0KZE+[I3G73&WCV8J)8+F
MTO*V*MQ231'7W(- ZVZELM \S5@RLWK-5^K3AJ\WM^P:A<R%8Y'#38L7?%$%
MSO,-$/K+?+EL6KC7&L38-)HQ3C 1#F1MW5:,A.N@(A5$F5TE*YW0/-$-R*^7
M:ER(6X&C *R7*C*TM^S#38B;P_;?AMYH&V^#;0H;:V$;:C?2\.O'I\7JI]9-
MT,/Y_(GW*[NP+C=:5:D2Y6?706__[RY^XOUJ\]]Z\U'+U9?E_%]:[9Y4W_2P
M^:K7G[_RY<.3NZ6<R91JJ0F"TACBJETE4.B"P#Q%PE*0Y2(>=+KXRRR9VEK@
M'\OU5G=07BCU"/25LH43^[3X\>I?XC,P-'5[%*ZL[6^S^U[_:-OGU=;<5=7
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
MX%2C'!>**Z_-0 ]94]OSJW0#*(Q.NK#T(Y)(" U,(4[+VHEQ_8&<HG>@ 6R
M?AL>F,0DCBYQHU*&A]W'9.%S2__@U?_GF:_MW%O\;$(M29JD:<8EY#IW_<>X
M@E2Y P.J$24XPU1YM5GLD#$U6M@&9F[U[!VY>HQF-T%$PFA@8@B'IU?8Z@4
M(D2M'C]Y]*#5"Z:=BUF]=&D_/^"_K%-M78PJP@B;#!>\X##/2.'ZITI7=[6
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
M,8HCSH1D%O+4Q>WQQ"[X,KO6L]25L518]RTP;L]/\ 3/NUQQ.RBJVI-R3^'
M4EA^L/MQ4WPHASX,<WHV&'ZH.P*#O3?P7?QSL3"(HA;/\I,\;B6M(#1.RFJ%
MW7V3\_3&ZGZN^L';I5P\NSP/5^/+_J\^\Q^SU#I.FJ<48NSZ[] \A8P:#0G2
M J=%@:G)PTBJAQ;38ZR/?<K2],%?(U'P0ACKP-HW!4:)A")W@V!$QK-,YIGT
M.NH<"?TQ'-NZ6&)3L29PYZ_/$ 0YLT,!.XYK"QRO[7K8'A6UV=H 6B. M2*Z
MD]L'P@%<WB U?H4#W >G"^YPKT?U+8/F\C,JCZ]NR8JUE"@U!&*2<,=P& JB
MD'6(B3%9IA*4BM"29X<BIO?Z>-DDJ3@5[\#_F?Q[@G+PQ-?@F]/W/T&:)'=)
MDK1YT?QY\W6U=GV,_Q,4V1W)4/N7>5T_O.I$N9<\S4N71?<@-RN7M8ON@#N%
MOZLN*]!=BOSN?Z5E=>X-LK1Z0A):%>QHI/V(]);1&Y@EFV'[5 ];VWVN@C!F
M>:_S]L<MY74D8^2R7><M/"W1=>&Z'F%D']8K]2PW'_7F>;W\J$N]_J:WE0 -
M)4CP#&946P:BB0LGLS\B39A=A&>"8ND=3M8A:&J.5*.J:[QM=?7TI*ZBV3W+
M8V(T\&QOX:G5!(V>UPOZA<$5$'46";:1HL_ZPA<6A.:!26<P6M?]XP6E>5AQ
M$)SF<WW/7KSSY7RCW\V_N5-CZPY\F8N%KHM^OYLO]=N-?BQGB*4I$T;#A!+K
MMV&508:H@9DN,E/D1",9E)KD(W1JY%GK#"NEP4YK4*L-_G"*@TKSP(->KQ'P
M<Z5BXSHPX<: -+RU;P!&47O\^L@=M]EO !(G77]#[NW?_O?-O+3\]]^:K]_8
MWY0SDRLAM"P@=?X:SCF!UF.3$/.<%ZD6TJZK0MO_'LF8&N]L^]O6>@*G**@T
M#>__>PQG-ZM$ FE@$NF!3Z\&P!<0B-  ^/C)HS< OF#:N0; ER[MOS>DUW+.
M%Q_XDUXW>1G6JR@H1A22/+53F](4TMP0R M"39;D+"-!$?)GI4QMFN^4!$].
MR_"MEU,@_?=?;H)GA$V8!IE*P2%*'G=!$'L?YE30Z)LQ%VT]MR-S^>*>DYZ7
M7^^7RGUQ;<:^\87EE;+.C4DRGB*EH?U,$!<([QH 80%EP1@R F5<AQ4TOBAJ
M<M/?Q66[7=GJFSUE>^7)=$#LR0E1@!N:&/IB%LX/5^&(2A*7I8W+%%>M/J&+
MZW?TK!P@OVKUO- /YEY*%VE7OE]M=/ENQ9>E%;B-=O^HI;9B[5KDL_ZQ>6&M
M^7-&L.0R-3G,46'7#+APU7A5!J7D!*7:*)2E@:4%^FLSO:.I3\^/CWS]TYW_
M\,8:L-XJ?N?*K076(KAAK/S8:23\!Z:OU@J'?&O'':@LN0.5+16Y[=)R=N:
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
MB<$J)U"I1$*<< EYFG-(E. ,)8;;CU98 &Z@!B&S9)Q0W#T#P,I9X.HW[$P
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
M/*%V92R#^G&?$S(U@M_J"$HMK<N^F8>6T#H+I9^C>"M  S/W#IM*OP%<PRX
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
M(P(["85CLL[!R7DO)4#=(NQRTNS(LUEGUV[1/)R&.WZZN])F]?'/CW+[&/&
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
MSHPLW P1>=Q][VX@Z#C_>90@1P;!AV6H-2WOOYW%Q6S"0Y8AL PR>@F*88#
MC(-09";?AA/=0R3 ;[UT-_5WG/(\7(2=&("77].G,/^(FURM<"%2.&S(I;5$
MO_(4'_N2R9ZE*+20A94AZBBVO7LW)'2<SCQ:H%V$#,_/EU5<%^=Y%=BD@_/5
M) GR88IR4) ;,FH$<5>L!VY"<ME85L)P0<-V&G8#2/?IRP$$W 507L_I:22.
MZ1=\$=;ADJV)U<PKS1R82.&QXED1'UZ#X5X4)B7MC4,>CVRC83>@=)_$'$#
M70"E'@TOGX<U?EPLOTUBB>0 2818-T>5I0+O4P8F4'EI#--JN"35K5?O5J+5
M??[R<'%V@8;W9V$V^^5\-9WC:C7AJ? <274A6(J:;3'@B3)@-FJ!VK,BASON
MN/7JW=#0?:;R<'%V@8:79[C\2)O@7Y:+/]:?GB_./H?YMXF0*DHM"N14*T@$
M<1!=B:!+2H$;HXQ4@Z%B*PF[H:/[%.7QXNT")>\_X6QV1;V3,C*C(Z#0Y"C)
M6J6LDP*I240ELX!V.$_TYIMWPT3'^<HCA=D%%(CPLUHFLDA_?_^)Y+9Z>[ZN
M]TAJ##Z)F2GOD@;AHR;!T+;HI.;@;/*H@RG9#.=;/$;);E#I.+,YL+ [*0-^
M-5W5A.VFFOD5?6\U$18C*J-JK2*G#9-T'7W-W-A(EE!(Y_,0QN1! G8#2L?9
MSV%$VQ4^_@/#\H(%'S-'Y0P491F%6CJ#E\@@1*<9-SH4-CPZKE^_&S8Z3HT.
M(=:1D?&,Z,\;'F;AXT1[X8T(&F+BY#BQF"$:CB"R$&BTCK2!#H"'6R_=#04=
MIT4/%V$?#@=1O@RSU_.,7_\G?IMD;9RSF*'X1,9,>PN!>0-.<&X+9B<D&\['
MN/WRW;#0?P;T")&.73-QD83[;M&N+D7I8EF2.@#WBG8[KVL-622;IC*%6UEH
M7H8X.WOH_;LAH^.4YR""'0P<__SS/3F^H6\<=GG\[6\O7O[V_N4+^N3]VS>O
M7SS[\/+%+\_>//OM^<OW__;RY8?WM\G?\6;YCY\ZP+7S/4D_\D[Z^0H^AO!Y
MLBF[JSO&V_)J.@_S-"7/<G%QS^P::$Z0$V')O31:J>I4:O#."$A!\2R*MB)L
MR1%=K;<25G&#@<MW7BPZG*U75]^YN_KV(>Y0"W/UCF>K%:Y7UZRBLX++E( V
M1UTO9].>R66 H%G@)1?T#ENP>IN,<>Z[-\/$E?$90.8'FQTRG'%QY*YTF_Y+
M,WK-1M(QYHV737R *K9 J.6(F(TW5AO-RA:/=2CHW*%F7 0=H^"M6#E&UEU
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
MS"1C95B 8(H!G:PF5BSM#$T:V#U 3R=W)8>$WW$R[\+?NSA-W\3=,7J.;E/
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
M1!UK/EY@7'^O1OY 8OR%?OSW2;0>E8L)(JT$VET9@F=HP!M6A-"83&A2U?T
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
MS<[?_^NF^JX#TI(7GG)\OO$::1TE$L]?\W&ZN(>9LI'TRSTX;@4HBL/ 6Y>
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
M6.(BE9SD+J:STZ2RYZ_O%S1=*'3:F71[QL;'<(V?RB,>;D^M,BN*H<2A2%Y
MJ=K0BY2)EQ23]R)ZYW:YCF(GB&RDHK^9M\>J==JUC/L^K_1I@K?4WUX>;EWT
M/CMP]42+LC&#M]%0R.TC#Z7^RUZ+>EY^=']J[TA7T\X$U[?:_W9SC9.OF"XG
MTZOIMS'./TQN9S(6;8MG3(/)C.R!Z0(!D0Q;2UI1E=-!Y9WTO_D=_8U!;@"$
MCD0Y@*+-LR7TW5]WXU*0\7JQNP3AEYFW,22>>B^R%2&;$)@433:6MM#4;VFE
MPWBC:_D/$4H/!F<P(XQ@J"$[05817;UE0&G0(4I1N(LEMCJ&LXFF@86NA^K]
MU1SG,"4, 4]K9_V,I=OA*5(P7B^&9\Z3]];!0 BT%'N>BT9!KE>*)IC:3M?
M<'6H_I_BJD-E# %;S\WO'4[2Y768_;ZTP2P+6I<"&1W/JQ'%T2H&T8O$T7%D
MLLD>Q&N$]=OH>YH%\'!-#!)9M]RLK= Y*5#Y!,17O?^2Q!9(2L!,22Y5UGBK
MRR&W$C8POW44#%[%V!$Z&0#&7BF6WF8B4=1Z1H9LZLA^\O[@A.-@10Q9>5F<
M:KF-NIVZH:'M&$#L-Q?\ .T, '+/)':_2ZQ,],EG R9P!2K7J9K<<LC6IA*9
M*K;9L><-)/4[.N04B^1ATA\BCN[[7?B((M*(GFP"*5X$A9&#4])#<HY1/F0-
M[G0ET_%(>D#4P!S5@8I_#4^':F&0#1<?)O0C?@U_XD';]P___/@-^8W$=+3%
M?O?\G\?S=#6=W\SP;K-4<X*!JY?(LLCJI7P2(I<"C+;UIMFLZ?\M[&D+3<?Z
MCQ<>?7]M-P8990ZTDDIG02E%R"TQ@"AD$RH:6W*3 ^C;B.K7?W2%CJ<.I#,U
M='CHO)$+6:[>QSJ2]4,Z=2<O$78"I\(<]TH$!3&5FH@A0M310<I<*\$*3ZG)
MZ?N&3N5+NL1\<X6?RD_3Z^_3">EE_JG<O;!V*4[F2#D"EO%B*?9[L N6?68N
M@K-(XHA*0*Q7H/J EGDFLU1-Q'$$S<-U2?M@ZZE+.I42AQ[R'-&X^,)3.O58
M+5L-M\&**V,UDP52+!&4+Q:\= *X"X@N^I)4D]VG4\1!CW$]DB:0F1A"L@P&
M5-()HJH-"5PDGIQ-WC;9%-E SW!=S3Z8V!C]'"'\ >3B[TO!M!C_P#M^?@L+
MK#6K\>2F]N-_QU6&.!]ARB:5X"$$2PXR& _1* W>,>N4"]*D)JT NY/8;V=
M*Z0U4M$ P'?/$*;I)(VOQDL^?KJLUVY\F-Q>QT%?6(YIGO\C7-VLU'EU-?VC
M'AH89<9E0A'!!N= 664H6D ./%AK8T&C&ONZ@TGO=Q>ON5L\C4KW![%?@7A2
MIT\2'9W?W+6-,Y^80I4S%%3U[JEDB3.2KE-9:@Q.E]#T@KACT=BL7-X*C5TK
M99!Q_T=<K.3WN;9F7%]/)U\N2>J'!/^;'G5\!K 3D1VE >_#K)XVK(?+EB^Y
MGSUF$N,$&,CUUB95I^!XY<F]B**B3]S%-H=*-Q%T=/#VY+GWR6S4S#MC'6#A
M'%1V% ,$(<&H0H_A3AEL$ZMMHJC?)* 31#R+RSJ1_D"+GQOL]?!"Z/8'-G,P
M#0ND&T'E2@H^Y'JOGZ84T&0!+@L#/K.*JF*E:G*FKY6;N:^J/7W#NS ?IXM)
M_GE\=5.CJ<<5M>Q,"4I:T 3ZVFOH(-3=@&)"HH^4+J;)UM.!] [41>V#ILWU
MT'::.R\'=D1E])4G-G-A+2NF&U&'D97BBH:L6 :E"7].NPPLV5 *6NMMDX&.
MIPJ5GN#_GF_/K9,HP*1"R:<7'ISD&6+).=1[4*)O<C7-CO0-U$?M@Y;7PJ@N
M-#.(,>9WYERG$M^[\V"9KCVL9KGC+H.%P);IK,=@$Q8=FXPY>)&:8<&I$\U/
MNU;"(+#T>38MX]5X:T<T:&\8Z%!JO8)43=$!!W0%O?/.Y=)DL_F>A'Y1TX%&
MIYT(=P %]'_B^-ME-17"6OB&'V]J6_&GLK2F^:>;Q7P1)IE,;&59=SOLQE-^
M2O:D0TAUIIB&H+."DE32@1L9VVR%'D1MOWLZIW!1[94X"!>V%YLC)W-@(9 $
MN2F@T#&(];Q'*KGX:)@UJDFI?"\J^W6$)\#-,4C=2X6#0"@M*S.LUTB$JP?I
MU_QBL9B-X\UBF2)/;]T YL_AK_KEB]FL[FW5'^<CLGSF"Z?PEQ5:AGBI;4S1
M <NZUA6U"[G)P:[C2>_7SYX>RR=6]G"#A?52]DS4(^ZU4=(KL/7>666" E>\
MH5C(%R\2TZI-^6Y/.OO=1Q^,$^Y$C0.X;_/%B&O$N,* 6 ^ZB%BGM&0(JB!X
MZRP:AQ[SZ<HR_2+N%"'I\4H8Q(+^E(VUB$9"F"*3CI"\9_78E* 8!3D48L#)
M@L*&D^R.KNGIM_>B#SP=HHA!(.IBLACG2OSX!W[!=#,;+\8X?_]GNKK)F%?'
M?:^_WZRT]WS7Y>)Z>E-OU[8\>9,4R#HV3!EK()($P7#+<W!!:]7DC&,GU/=[
M._HIT'IZ)9]B#VW]B_I/I(CV__W;_P=02P,$%     @ (H!:4V#%Z]U1"
M7RT  !(   !C86QX7S(Q<3-E>#,Q,2YH=&WM6FUS&CD2_GZ_0HOKLDX5# R8
M@+'C*@>3"E59.^N0R^ZG*\U( RIK1K.2!LS]^NN69@ ;>T.2NS5)-E7!S.BM
M6_WHZ4="IS]=7 TGO[\;D9E-)7GWX=7;\9#4&LWFQ\ZPV;R87) WDU_>DJ.@
M%9*)IID15JB,RF9S=%DCM9FU^:#97"P6P:(3*#UM3JZ;V-514RIE>, LJYV=
MXAOXY)2=_>/TIT:#7*BX2'EF2:PYM9R1PHAL2CXR;FY(HU'6&JI\J<5T9DF[
MU0[)1Z5OQ)SZ<BNLY&=5/Z=-_WS:=(.<1HHMSTZ9F!/!7M9$O]MOM>*H&X<1
M/>I3=MQK]6C<[W6ZK1Z+:>??(1C9A.J^C;%+R5_64I$U9AS''QRU@UXWMR<+
MP>QL$+9:_ZRYJF>GB<HLC*>AO?_JN]GJS/);VZ!23+.!<ZGFFU;%L9)*#PY:
M[M\)EC02F@JY'/P\$2DWY)(OR+5*:?9SW4 8&H9KD?B*1OR'#X[!.O>T\!;W
MH!LI,EYY$+;1YM'M3$3"DDX8A'<-WO2;ZBFX;E7N>MVP/(:IYOII3!^.KB?C
MU^/A^61\=4FN7I/AF_'H-1G]-AI^F(S_-8)74#JZ?M2M/?'CW8?K]Q_.+R=D
M<D7>CX;.FTZK#>;ON^63-R/R_OSZU?GEZ'WCZK>WH]_)^7""H6BW6NT=X?3_
M-OWH0=/'=3*D6I+KPAA5)S'75B1+8F?4/COH]D]V70LY90R(JB%Y8@>=%]7J
M$!F#N P:^.9I' R#RH6_?/"[D](^#MI=G(4QF=$Y)YK/!5\ P]N9,.2/@FK
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
M64@FR\UI^#$ V/I^ ,A(Q%.$V*!E'=(JT(?J*)8;Y3P%DP!;T*[X'L2YH1'
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
M%3K>N2YUTVXT-;1N5,@4>\Y2/JSRT$61!^]>Y<_L)IB^DW;Z-U!+ P04
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
M%!-*QS_ODX^,2/_D)7C5@N [+T2=M'MM#993IV)IR9AEA0_;%"Z@ABR.*4"
M4+NSBIX*. K>P9QH0T%?BL2ZHHDO$'WZ3[:,K7WS0!R[7L,7-SUTI[%^2)7[
M;^)@WTW<(O*T1P/W=B8^-06P)$LGJ('"D9A.PF@L*3LH:U]#?_)^$7((!HNR
MF9+G@I<&F*)D,4QXR%.NYYEC(*QPJ5^I*6KN\Y"4IFF?60I_"H5Y2\24G5/.
M7@.==68ACK1)!CBC=*!6<T%&X_GM"4EBPGAJ=>^/"7Y2F0 T\&*_CZ$V'2RD
M^B:R9<F4ZR%PK;)L\1J0N8K1^$PHQBG)K/@@)1>C*LOZ3'B;BFF,T2!3F10U
M*.IM:=V!5Z#LK@KY*\HY:#F.LU!2^?^>R +_(<VML.4S\\P/JO##@Q*%N'U2
M2,L8KL=*"3"__?T _*$M7^@;V\JT4IWN.4H?YK9@6['YG@O<-<?0"YF'C$O:
M*#O_Z>PZ_WGZM_[ZB>QSA.UV=VJV_KJXO#GOM#]VVO8HKOGQNM-I/_7S;W^8
M^+&,],C#V+W0:>/H>*=[K5Q]%(NT\DADES]5JM@(C@GNO U9>*1W/X7UE(C'
M>O>4M:3DE\UUQ[+)7JA4"\>>4WJ0JH)B::?3]XHG46\=Q:;D+-Z!W>GCRO!*
MI0*7IGZ5$5PQ>3ME\\?EV;U5::54;L+IL5\LO7*%S%WDW0'KNBYKS^R*T%Y6
M-OX%4$L! A0#%     @ (8!:4\')\2 -&P( ;P(7 !$              ( !
M     &-A;'@M,C R,3$P,#(N:'1M4$L! A0#%     @ (8!:4VRLO:])#@
M?94  !$              ( !/!L" &-A;'@M,C R,3$P,#(N>'-D4$L! A0#
M%     @ (H!:4Z'-U48!'@  !A\! !4              ( !M"D" &-A;'@M
M,C R,3$P,#)?8V%L+GAM;%!+ 0(4 Q0    ( "* 6E/;C\2P\$(  #SJ @ 5
M              "  >A' @!C86QX+3(P,C$Q,# R7V1E9BYX;6Q02P$"% ,4
M    "  B@%I35]M]<MS%   T&P@ %0              @ $+BP( 8V%L>"TR
M,#(Q,3 P,E]L86(N>&UL4$L! A0#%     @ (H!:4^"@A!-]<   I!0% !4
M             ( !&E$# &-A;'@M,C R,3$P,#)?<')E+GAM;%!+ 0(4 Q0
M   ( "* 6E-@Q>O=40@  %\M   2              "  <K! P!C86QX7S(Q
M<3-E>#,Q,2YH=&U02P$"% ,4    "  B@%I3;S\W/DT(  !H+0  $@
M        @ %+R@, 8V%L>%\R,7$S97@S,3(N:'1M4$L! A0#%     @ (H!:
M4_WT1T6-!0  [B8  !(              ( !R-(# &-A;'A?,C%Q,V5X,S(Q
M+FAT;5!+ 0(4 Q0    ( "* 6E/[OQ?!QP8  -,Z   >              "
M 878 P!E>&AI8FET,3 Q;F]N+65M<&QO>65E9&ER92YH=&U02P$"% ,4
M"  B@%I3:@]G/G0%   ''0  '@              @ &(WP, 97AH:6)I=#$P
K,G-E8V]N9&%M96YD;65N='0N:'1M4$L%!@     +  L X@(  #CE P    $!

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